.NET Core 3.1 自包含应用程序没有为可执行文件设置版本
.NET Core 3.1 Self Contained Application Does Not Have Version Set for Executable
我正在将应用程序部署为独立的 win-x64 应用程序。这样做会生成一个 .exe,用于在客户端计算机上启动应用程序,但是我需要在 .exe 上设置“产品版本”和“文件版本”。我的问题是这个 .exe 没有设置这些属性中的任何一个,尽管部署的所有其他二进制文件都设置了这些属性。
这是 运行 生成独立应用程序二进制文件的发布命令:
dotnet publish MyApp.csproj -c MyCustomRelease -r win-x64 --self-contained=true -v normal
此外,我还为 MyApp.csproj 设置了以下属性。这些是:
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<Configurations>Debug;Release;MyCustomRelease</Configurations>
<Platforms>AnyCPU</Platforms>
<AssemblyVersion>3.2.0</AssemblyVersion>
<Version>3.2.0</Version>
<FileVersion>3.2.0</FileVersion>
</PropertyGroup>
但是当我检查我的 .exe 版本时,我没有看到为文件或产品版本设置了 3.2.0。但是,生成的 .dll do 已正确设置。我错过了什么?
您的问题已在此处的另一个 Whosebug 问题中得到解答:
希望这些信息对您有所帮助!如果上面的 link 回答了您的问题,请务必将此 post 标记为已回答,以便发现它的其他人被发送到正确的位置。
我想我找到了答案。我没有提到我是在 MacOS 上构建它的(最终将在我们的 CICD 管道中的 linux 容器中构建)因为我认为我的 OS 无关紧要对于这种功能,但是经过认真挖掘后,我确实发现 this GitHub issue 详细说明为自包含应用程序自定义 exe 依赖于 Windows API。
我正在将应用程序部署为独立的 win-x64 应用程序。这样做会生成一个 .exe,用于在客户端计算机上启动应用程序,但是我需要在 .exe 上设置“产品版本”和“文件版本”。我的问题是这个 .exe 没有设置这些属性中的任何一个,尽管部署的所有其他二进制文件都设置了这些属性。
这是 运行 生成独立应用程序二进制文件的发布命令:
dotnet publish MyApp.csproj -c MyCustomRelease -r win-x64 --self-contained=true -v normal
此外,我还为 MyApp.csproj 设置了以下属性。这些是:
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<Configurations>Debug;Release;MyCustomRelease</Configurations>
<Platforms>AnyCPU</Platforms>
<AssemblyVersion>3.2.0</AssemblyVersion>
<Version>3.2.0</Version>
<FileVersion>3.2.0</FileVersion>
</PropertyGroup>
但是当我检查我的 .exe 版本时,我没有看到为文件或产品版本设置了 3.2.0。但是,生成的 .dll do 已正确设置。我错过了什么?
您的问题已在此处的另一个 Whosebug 问题中得到解答:
希望这些信息对您有所帮助!如果上面的 link 回答了您的问题,请务必将此 post 标记为已回答,以便发现它的其他人被发送到正确的位置。
我想我找到了答案。我没有提到我是在 MacOS 上构建它的(最终将在我们的 CICD 管道中的 linux 容器中构建)因为我认为我的 OS 无关紧要对于这种功能,但是经过认真挖掘后,我确实发现 this GitHub issue 详细说明为自包含应用程序自定义 exe 依赖于 Windows API。