如何将WinForms发布到1个可执行文件中?

yebdmbv4  于 2023-04-07  发布在  其他
关注(0)|答案(1)|浏览(194)

我想发布一个WinForm(.Net框架)作为一个可执行文件(只有一个文件)。我已经测试了不同的方法。
我试过了
dotnet publish -r win-x64 /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true --output ../result
错误:C:\Program Files\dotnet\sdk\5.0.302\Microsoft.Common.CurrentVersion.targets(3746,5):错误MSB 4062:无法从程序集Microsoft.Build. Tasks.Core加载“Microsoft.Build. Tasks.AL”任务,版本=15.1.0.0,区域性=中性,PublicKeyToken= b 03 f5 f7 f11 d50 a3 a。请确认声明正确,程序集及其所有依赖项可用,并且任务包含实现Microsoft. Build. Framework. ITask的公共类。[C:\RPIC\PICDashboard\PICDashboard\PICDashboard\PICDashboard\PICDashboard.csproj]

msbuild /t:Publish /p:PublishSingleFile=True /p:IncludeNativeLibrariesForSelfExtract=True/p:SelfContained=True/p:Configuration=Release /p:Platform=“Any CPU”/p:RuntimeIdentifier=win-x64 /p:OutputPath=../result
msbuild没有错误,但是它产生了许多文件,就像Debug和Release文件夹中的一样,它也给予了我一个警告
C:\RPIC\PICDashboard\PICDashboard\PICDashboardSetup\PICDashboardSetup.vdproj.metaproj:警告MSB 4078:MSBuild不支持项目文件“PICDashboardSet up\PICDashboardSetup.vdproj”,因此无法生成该文件。
我也试过
dotnet msbuild -target:Publish -property:PublishSingleFile=True -property:IncludeNativeLibrariesForSelfExtract=True -property:SelfContained=True -property:Configuration=Release -property:RuntimeIdentifier=win-x64 -property:Platform=“Any CPU”-property:OutDir=../result
错误:C:\Program Files\dotnet\sdk\5.0.302\Microsoft.Common.CurrentVersion.targets(3746,5):错误MSB 4062:无法从程序集Microsoft.Build. Tasks.Core加载“Microsoft.Build. Tasks.AL”任务,版本=15.1.0.0,区域性=中性,PublicKeyToken= b 03 f5 f7 f11 d50 a3 a。请确认声明正确,程序集及其所有依赖项可用,并且任务包含实现Microsoft. Build. Framework. ITask的公共类。[C:\RPIC\PICDashboard\PICDashboard\PICDashboard\PICDashboard\PICDashboard.csproj]
有什么方法可以让我发布WinForms作为一个单一的exe?

z9zf31ra

z9zf31ra1#

“Any way”- yes,虽然我不能说“always”/“for all”应用程序及其依赖项。
此外,以下是在Visual Studio(不是dotnet cli -我没有尝试过)中使用一个简单的“Hello World”Windows窗体应用程序完成的(* 没有外部依赖项 *)
1.在应用程序构建属性-〉发布配置中,将调试信息设置为None

1.在您的Publish Settings

结果(在上面设置的bin\Release\net5.0-windows\publish\文件夹中):

运行一个很棒的应用程序:)

相关问题