【发布时间】:2021-10-07 20:39:23
【问题描述】:
我想将 WinForm(.Net 框架)发布为可执行文件(仅 1 个文件)。我测试了不同的方法。
我试过了
dotnet publish -r win-x64 /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true --output ../result
错误:C:\Program 文件\dotnet\sdk\5.0.302\Microsoft.Common.CurrentVersion.targets(3746,5): 错误 MSB4062:无法加载“Microsoft.Build.Tasks.AL”任务 从程序集 Microsoft.Build.Tasks.Core,版本 = 15.1.0.0, 文化=中性,PublicKeyToken=b03f5f7f11d50a3a。确认 声明是正确的,即大会及其所有 依赖项可用,并且任务包含公共类 实现 Microsoft.Build.Framework.ITask。 [C:\RPIC\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:警告 MSB4078:项目文件“PICDashboardSet up\PICDashboardSetup.vdproj" 不受 MSBuild 支持,无法构建。
我也试过
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 文件\dotnet\sdk\5.0.302\Microsoft.Common.CurrentVersion.targets(3746,5): 错误 MSB4062:无法加载“Microsoft.Build.Tasks.AL”任务 从程序集 Microsoft.Build.Tasks.Core,版本 = 15.1.0.0, 文化=中性,PublicKeyToken=b03f5f7f11d50a3a。确认 声明是正确的,即大会及其所有 依赖项可用,并且任务包含公共类 实现 Microsoft.Build.Framework.ITask。 [C:\RPIC\PICDashboard\PICDashboard\PICDashboard\PICDashboard.csproj]
有什么方法可以让我将 WinForms 发布为单个 exe?
【问题讨论】:
标签: c# .net winforms msbuild .net-framework-4.8