当我对我的应用程序进行发布构建时,我会将运行程序所需的所有文件复制到一个文件夹中。我希望该文件夹名称包含程序集版本。
我的构建命令部分有效。我可以将版本号放入一个名为 tmpfile 的文件中。问题似乎是将该文件中的版本号读取到变量中。
if $(ConfigurationName) == Release (
powershell "(Get-Item -path $(TargetPath)).VersionInfo.ProductVersion" > tmpfile
set /p VER=< tmpfile
echo %VER% > fileversion
set "DIRNAME=FilterUtilityApp%VER%"
xcopy /s /y "$(TargetDir)*" "$(SolutionDir)%DIRNAME%\"
xcopy /y "$(ProjectDir)Docs\*" "$(SolutionDir)%DIRNAME%\Docs\"
)
我已经测试了使用 CMD 窗口读取和写入 VER 的行,并且命令有效,fileversion 包含版本号。当我运行构建脚本时,fileversion 包含“Echo is on”,我认为这意味着 VER 是空白的。我的构建命令可能还有其他问题,但我被困在阅读版本号的这一点上。