2013-06-27 33 views
0

我將簡明扼要。如何在Visual Studio中的預生成事件中使用此命令

FOR /F %i IN (C:\Version.txt) DO @set Version=%i命令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.

如何在預生成事件中使用該命令? 非常感謝。

+0

什麼是version.txt?只是像「1.0.0.0」?什麼版本的VS? – stijn

回答

0

正確的語法是

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

但是你epxect這是行不通的:VS產生一個cmd.exe的進程來執行構建的事件,也就是說如果你設置一個變量是局部的CMD。 exe只,因此你的構建的其餘部分將無法訪問Version

幸運的是,比批處理文件有更好的選擇:如果你使用VS2010或更高版本,項目文件是msbuild文件,所以要獲得所有可能的版本控制工作,你只需創建一個通用的msbuild腳本來做任何你需要的處理版本(如創建一個.res文件,如果是C++,或者修改C#的AssemblyInfo.cs)並將其包含在所有項目中。

+0

雙'%%'做了訣竅。我現在可以在構建事件中使用'Version'變量。非常感謝。 –

相關問題