2016-08-02 6 views
0

현재 다음을 포함하는 VersionInfo.cs 파일이 있습니다.C#은 환경 변수를 통해 버전 번호를 할당합니다.

using System.Reflection; 
using System.Runtime.CompilerServices; 
using System.Runtime.InteropServices; 

//Version information for an assembly consists of the following four values: 
// 
//  Major Version 
//  Minor Version 
//  Build Version 
//  Revision 
// 
//You can specify all the values or you can defaul the Revision and Build Numbers 
//by using the '*' as shown below: 
[assembly: AssemblyVersion("1.0.0.0")] 
[assembly: AssemblyFileVersion("1.0.0.0")] 

이 파일은 그래서 하나의 버전 번호를 업데이트, 내 솔루션의 모든 프로젝트에 대한 링크로 추가되고, 그것 모두를 업데이트합니다. 이것은 잘 작동합니다.

하지만 환경 변수에서 버전 번호를 검색하고 VersionInfo.cs 파일에서 사용할 수 있는지 궁금합니다. 파일 VersionInfo.cs에서이 작업을 수행 할 수 있습니까?

나는 이것과 같은 것을 찾고 지금까지 아무 것도 얻지 못했습니다.

+0

다른 주제가 있습니다. 도움이 될 수도 있습니다. http://stackoverflow.com/questions/650/automatically-update-version-number –

답변

0

VersionInfo.cs 그 자체로는 불가능한 것 같습니다. 특수 기호를 C# 컴파일러에 전달할 수도 있지만 (C++ 컴파일러에 대해서는 MSDN Article 참조) C/C++ 기호와 달리 값을 저장할 수 없습니다.

그러나 예를 들어 또 다른 간단한 C# 프로그램을 사용하여 알고리즘을 통해 VersionInfo.cs을 생성 할 수 있습니다. 먼저 VersionInfo.cs을 다른 소스에서 얻은 정보로 수정하는 프로그램을 작성하십시오. 아마도 Environment.GetEnvironmentVariable 메소드 호출에서 작성하십시오. 그런 다음 사전 빌드 명령을 프로젝트 빌드에 추가하십시오. 자세한 방법은 MSDN article을 참조하십시오. 사전 빌드 이벤트에서 컴파일러가 호출되기 전에 VersionInfo.cs을 업데이트하도록 프로그램을 호출하십시오.