【问题标题】:How to Publish an WinForms into 1 executable?如何将 WinForms 发布到 1 个可执行文件中?
【发布时间】: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


    【解决方案1】:

    “任何方式” - 是的,虽然我不能说“总是”/“对于所有”应用程序及其依赖项。

    此外,以下是在 Visual Studio(不是 dotnet cli - 我没有尝试过)中使用一个简单的“Hello World”Windows 窗体应用程序完成的(没有外部依赖项

    1. 在您的应用程序构建属性中 -> Release 配置设置调试信息为None

    2. 在你的Publish Settings

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

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

    第...

    【讨论】:

    • 我已经更改了 Build 设置,但是对于第 2 步,我没有像您一样获得 UI,而是获得了一个没有所有这些选项的发布向导。
    【解决方案2】:

    您使用的是哪个 IDE 版本。您可以在发布设置中选择生成单个文件(vs2019 的一键发布方法)

    【讨论】:

    • 我正在使用 VS 2019。我尝试了发布选项,但它只是弹出了一个发布向导,它没有所有这些自包含,生成单个文件选项
    猜你喜欢
    • 1970-01-01
    • 2015-03-28
    • 1970-01-01
    • 2011-11-09
    • 1970-01-01
    • 2011-11-16
    • 2023-04-06
    相关资源
    最近更新 更多