2014-07-13 5 views
3

현재 설치된 VSPackage의 버전을 확인하여 버전이 오래된 경우 사용자에게 알리고 싶습니다. 내 확장 기능 (아직)을 업로드하고 싶지 않으므로 내장 된 업데이트 기능을 사용할 수 없습니다.설치된 VSPackage의 버전을 읽는 방법

vsixmanifest 파일에 지정된 내 확장 버전을 읽으려면 어떻게해야합니까?

+0

@michaelrmcneill을 : 중복! 내가 설치된 VSPackage 버전과 Visual Studio 버전이 필요하지 않습니다! – flayn

+0

@SimonMourier : Visual Studio에서 읽고 편집하는 방법을 알고 있습니다. 확장 기능이 실행 중일 때 버전을 읽는 방법을 알고 싶습니다. http://stackoverflow.com/questions/11082436/detect-the-visual-studio-version-inside-a-vspackage?rq=1과 유사하지만 Visual Studio 버전은 아닙니다. – flayn

답변

2

이 같은 기능을 사용하지 수 :

public static Version GetExecutingAssemblyVersion() 
    { 
     var ver = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location); 

     // read what's defined in [assembly: AssemblyFileVersion("1.2.3.4")] 
     return new Version(ver.ProductMajorPart, ver.ProductMinorPart, ver.ProductBuildPart, ver.ProductPrivatePart); 
    } 
+0

VSPackage는 Visual Studio 내에서 실행됩니다. 귀하의 코드는 Visual Studio 버전 만 제공합니다. – flayn

+0

테스트 해 보셨습니까? Assembly.GetExecutingAssembly는 현재 실행중인 코드가 포함 된 어셈블리를 가져옵니다. –

+0

나는 고쳐졌다! 그러나 이것은 DLL 버전을 제공하고 vsixmanifest 파일에서 지정한 버전이 아닙니다. – flayn

관련 문제