在 C# Visual Studio 桌面应用程序的 exe 文件名中包含版本号
Include version number in exe file name in C# Visual Studio desktop application
我到处寻找解决方案,我认为这是不可能的!
我可以将版本号(在 AssemblyInfo.cs 中)包含到 .exe 文件名中吗?所以我不再需要在每次发布构建时重命名输出的 exe 文件。
我刚刚发布这个问题是为了确定事实上,这是不可能做到的。
否则,如果有人有可行的解决方案,我会很高兴知道。
谢谢
编辑
我不是在搜索如何获取我能找到的程序集版本,而是在寻找如何将该版本自动包含到我的 .exe 输出文件名中
我做到了!
感谢 Stinky Towel 的有用评论。
我必须修改脚本以使其在我的配置下 运行,正如您所看到的,我使用 wmic 而不是我在 Windows 10 上找不到的 filever。
这是我运行良好的脚本:
`@echo off
set filepath=%1
set filename=%2
set dblslash=%filepath:\=\%
FOR /F "tokens=2 delims==" %%I IN (
'wmic datafile where "name='%dblslash%'" get version /format:list'
) DO SET "AssemblyVersion=%%I"
ECHO %AssemblyVersion%
move /Y %filepath% %filename%_%AssemblyVersion%.exe`
我到处寻找解决方案,我认为这是不可能的!
我可以将版本号(在 AssemblyInfo.cs 中)包含到 .exe 文件名中吗?所以我不再需要在每次发布构建时重命名输出的 exe 文件。
我刚刚发布这个问题是为了确定事实上,这是不可能做到的。 否则,如果有人有可行的解决方案,我会很高兴知道。 谢谢
编辑
我不是在搜索如何获取我能找到的程序集版本,而是在寻找如何将该版本自动包含到我的 .exe 输出文件名中
我做到了!
感谢 Stinky Towel 的有用评论。 我必须修改脚本以使其在我的配置下 运行,正如您所看到的,我使用 wmic 而不是我在 Windows 10 上找不到的 filever。 这是我运行良好的脚本:
`@echo off
set filepath=%1
set filename=%2
set dblslash=%filepath:\=\%
FOR /F "tokens=2 delims==" %%I IN (
'wmic datafile where "name='%dblslash%'" get version /format:list'
) DO SET "AssemblyVersion=%%I"
ECHO %AssemblyVersion%
move /Y %filepath% %filename%_%AssemblyVersion%.exe`