如何在Visual Studio中的预构建事件中使用此命令

时间:2013-06-27 07:28:49

标签: visual-studio command pre-build-event

我会简明扼要。

命令FOR /F %i IN (C:\Version.txt) DO @set Version=%icmd.exe中完全正常,可以将文件的文本读入变量。但每当我在Visual Studio中将该行放入预建事件时,它就会显示Exited with code 255

http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx上我发现0xFF / 255表示:The extended attributes are inconsistent.

如何在预构建事件中使用该命令? 非常感谢。

1 个答案:

答案 0 :(得分:0)

正确的语法是

FOR /F %%i IN (C:\Version.txt) DO @set Version=%%i

但是这不会像epxect那样工作:VS生成一个cmd.exe进程来执行构建事件,这意味着如果你设置一个变量,它只对那个cmd.exe是本地的,因此你的构建的其余部分将不会有访问Version

幸运的是,除了批处理文件之外还有更好的选择:如果你使用VS2010或更高版本,项目文件是msbuild文件,那么为了让所有可能的版本控制工作正常工作,你只需创建一个通用的msbuild脚本来做你需要的任何事情。处理版本(例如,如果是C ++则创建.res文件,或者修改C#的AssemblyInfo.cs)并将其包含在所有项目中。