0

我没有找到任何内置替代方案,因此我在我的项目中使用以下构建后命令来获取生成的程序集版本:

FOR /F "tokens=4" %%F in ('$(SolutionDir)Tools\FileVer.exe /A /B /D !DESTINATION!\MyApplication.exe') DO SET VERSION=%%F
SET VERSION=!VERSION:~0,5!

FileVer 是一个免费工具,可以从这个页面下载。现在...我需要检索除 Revision 之外的所有版本组件。这就是为什么我使用该命令来获取命令结果的子字符串。问题是,只有当每个版本组件只有一个数字长时,它才能像魅力一样发挥作用。因此,例如,如果我有:

1.0.0.0

它将正确检索:

1.0.0

但如果我有:

1.12.0.0

我会得到一个错误的结果:

1.12。

有没有更好的方法来获得没有修订部分且不使用外部工具的最终装配版本?

4

1 回答 1

1

这应该这样做:

FOR /F "tokens=3 delims=." %%F in ('$(SolutionDir)Tools\FileVer.exe /A /B /D !DESTINATION!\MyApplication.exe') DO SET VERSION=%%F.%%G.%%H
于 2013-06-15T00:27:16.740 回答