2012-07-15 2 views
3

어셈블리 버전을 MSBuild로 빌드 할 때 사용자 지정 형식을 사용할 수 있습니까?MSBuild - 사용자 지정 어셈블리 버전 형식

예를 들어, 우리는 "0.16.10r2.10717"와 같은 버전을 사용하려고하지만 우리는이 오류를 가지고 :

error emitting 'system.reflection.assemblyversionattribute' -- The version specified '0.16.10r2.10717' is invalid.

나는 웹 주변 검색을하지만, 해결책을 요구 아무도 보인다 이의. 가능한가?

우리는 Microsoft Visual Studio 2010 및 FinalBuilder 7을 사용하여 프로젝트를 작성합니다.

답변

13

AssemblyVersionAssemblyFileVersion은 각각 최대 65534 (UInt16.MaxValue-1) 이하의 4 개까지의 정수로 구성되어야합니다. 다음 중 하나는 (C#을 구문) 유효합니다 버전과 문자열을 받아 다른 속성, AssemblyInformationalVersion,이

[assembly: AssemblyVersion("1.2.3.4")] 

// Let the compiler generate the build and/or revision numbers 
[assembly: AssemblyVersion("1.2.3.*")] 
[assembly: AssemblyVersion("1.2.*")] 

; 더 복잡한 문자열을 사용하고자 할 때 (특히 DVCS의 커밋 ID를 포함 할 때) 사용할 수 있습니다.

// Use complex version number 
[assembly: AssemblyInformationalVersion("0.16.10r2.10717")] 

// Include Git commit ID 
[assembly: AssemblyInformationalVersion("1.2b1-g39d1c0f")] 

간단히 상기 difference between these attributes은 :

  • AssemblyVersion이 어셈블리의 CLR 버전을 사용한다. 어셈블리에 강력한 이름이 있으면 유효성이 검사 된 버전입니다.

  • AssemblyFileVersion :이 파일은 Win32 파일 버전 리소스이며 Windows 탐색기의 어셈블리 속성에 표시됩니다.

  • AssemblyInformationalVersion : 런타임에 Application.ProductVersion 속성을 통해 액세스 할 수 있습니다. Application.UserAppDataDirectory 경로에도 사용됩니다.

관련 문제