2010-01-20 7 views
13

어셈블리, 파일 및 어셈블리 정보 용 버전에 대해서는 여기에서 스레드를 읽었습니다. 버전에 맞는 게시 어디 싶습니다버전 게시 및 어셈블리 (기타) 버전

알고 있습니다.의 결과를 ...

string thisAppsVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); 

합니다 ... AssemblyVersion 것으로 보인다.

ApplicationDeployment deployment = ApplicationDeployment.CurrentDeployment; 
Version thisAppsVersion = deployment.CurrentVersion; 

을 ...하지만 응용 프로그램이 설치되어 있지 않으면이 사용할 수 없습니다 : 지금까지 내가 배포 클래스에 게시 된 버전을 사용했습니다. 나는 Revision을 자동으로 증가시키는 옵션이있는 것을 좋아한다.

네트워크를 배포하지 않고 게시 버전을 얻는 방법이 있습니까? 앱 버전의 '공개 얼굴'일까요? 사전에

Example: UI Version (twisted from Publish Version)

감사합니다!

그레그

답변

18

다른 버전이 다른 용도로 사용된다고 생각합니다.

1) AssemblyVersion은 CLR이 어셈블리를로드하고 바인딩 할 수 있도록합니다. 이는 개발자에게는 유용하지만 최종 사용자에게는 유용하지 않습니다.

2) FileVersion 또는 AssemblyFileVersion은 Windows가 실행 파일의 파일 버전으로 표시 한 것입니다. 그것은 단지 동일한 Win32 응용 프로그램의 버전입니다. 그리고이 버전은 시스템 및 설치 프로그램에서 어떤 버전이 더 새로운 버전인지 판단하는 데 사용됩니다.

3) PublishVersion은 배포 패키지의 버전을 지정하는 데 사용됩니다. 동일한 바이너리를 다른 게시 버전으로 두 번 게시하는 것이 좋습니다.

4) 최종 사용자에게 보여주는 버전은 아직 다른 버전입니다. 그것을 제품 버전 또는 다른 것으로 부르십시오. 예를 들어, 위의 내용과 다를 수 있습니다. 사업 목적. 일부 .NET 내장 지원을 사용하려면 AssemblyInformationalVersionAttribute을 참조하십시오.

간단한 경우 제품 버전으로 FileVersion을 사용할 수 있습니다. 그러나 버전을 발표하는 것은 나에게 좋은 생각이 아닙니다.

+0

안녕하세요, Dudu, 명확한 설명 주셔서 감사합니다. 그것은 명확하게 정리 된 것들입니다! – MrGreggles

+1

자동으로 일치시킬 수있는 방법이 있습니까? –