使用dotnet发布时设置exe文件版本

我有一个net core consoleapp项目,如下(VS 2017风格):

  Exe netcoreapp1.1 2.0.0 3.0.0.0 4.0.0.0 win10-x64 1.0.4   

我可以毫无问题地构建项目,我可以使用dotnet publish -r win10-x64发布它,它将与dll文件一起生成exe文件。 我的问题是exe文件有一些奇怪的FileVersion和ProductVersion字段(在我的例子中FileVersion = 1.0.1.4500和ProductVersion 1.0.1.cee57 …(一些guid))。 其余的文件详细信息(名称,版权)与dotnet而不是我自己的项目有关。

有什么办法可以在发布时控制exe细节吗?

不,你的项目的主要构建输出仍然是.dll文件,.exe(或linux,mac可执行文件)文件是复制dotnet.exe命名的dotnet.exe (或者在即将发布的2.0版本的情况下,带有dll的apphost.exe要运行嵌入的名称)。

exe文件只是一个启动运行时然后加载你的dll的帮助器。 但是,您可以尝试使用二进制编辑工具(如editbin.exe (VS C ++工具))在发布后修改该文件。