2013-06-27 4 views
0

간결합니다.Visual Studio의 미리 빌드 이벤트에서이 명령을 사용하는 방법

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

올바른 구문은 epxect 그러나이 작동하지 않습니다

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

입니다 : VS 당신이 변수를 설정할 경우 그 cmd를 로컬 것을 의미, 빌드 이벤트를 실행하기 위해 cmd.exe를 프로세스를 생성합니다. exe에만 적용되므로 나머지 빌드는 Version에 액세스 할 수 없습니다.

다행히도 배치 파일보다 훨씬 더 나은 대안이 있습니다. VS2010 이상을 사용하는 경우 프로젝트 파일은 msbuild 파일이므로 가능한 모든 버전 관리 작업을 수행하기 위해 공통된 msbuild 스크립트를 만들어 필요한 모든 작업을 수행하십시오 (예를 들어 .res 파일을 C++ 용으로 작성하거나 C# 용 AssemblyInfo.cs를 수정하여) 모든 프로젝트에 포함시킬 수 있습니다.

+0

두 배'%%'가 트릭을했습니다. 지금 빌드 이벤트에서'Version' 변수를 사용할 수 있습니다. 많은 감사합니다. –

관련 문제