2014-06-11 8 views
1

Visual Studio 패키지 (vsix) (뻔뻔스러운 플러그 : pMixins)를 만들고 있는데 TeamCity 연속 통합 서버를 사용하여 vsix 패키지를 만들고 싶습니다. TeamCity는 백그라운드에서 MSBuild를 사용합니다.Visual Studio 패키지 (vsix) - Visual Studio가 설치되지 않은 Team City

Visual Studio SDK을 빌드 에이전트에 설치하는 것이 편하지만, 이 아닌은 Visual Studio 정식 버전을 설치하려고합니다. Visual Studio SDK 설치 프로그램을 실행할 때 Visual Studio가 설치되어 있지 않다고 불평합니다.

How can I use MSBuild (via TeamCity) to build my vsix without having to install Visual Studio?

나는 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\VSSDK\Microsoft.VsSDK.targets 목표 파일 복사,하지만 지금은 필요한 어셈블리를 설치하는 방법에 붙어 :

[MSBuild output] (ResolveAssemblyReferences target) -> 
     [22:25:37][MSBuild output] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "extensibility". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\BuildServer\TeamCity_Agent\work\d059d781c29b14d2\pMixins.VSPackage\pMixins.VSPackage.csproj.teamcity] 
     [22:25:37][MSBuild output] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.VisualStudio.Designer.Interfaces". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\BuildServer\TeamCity_Agent\work\d059d781c29b14d2\pMixins.VSPackage\pMixins.VSPackage.csproj.teamcity] 
     [22:25:37][MSBuild output] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.VisualStudio.OLE.Interop". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\BuildServer\TeamCity_Agent\work\d059d781c29b14d2\pMixins.VSPackage\pMixins.VSPackage.csproj.teamcity] 
     [22:25:37][MSBuild output] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.VisualStudio.Shell.Interop". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\BuildServer\TeamCity_Agent\work\d059d781c29b14d2\pMixins.VSPackage\pMixins.VSPackage.csproj.teamcity] 
     [22:25:37][MSBuild output] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.VisualStudio.Shell.Interop.8.0". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\BuildServer\TeamCity_Agent\work\d059d781c29b14d2\pMixins.VSPackage\pMixins.VSPackage.csproj.teamcity] 
     [22:25:37][MSBuild output] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.VisualStudio.Shell.Interop.9.0". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\BuildServer\TeamCity_Agent\work\d059d781c29b14d2\pMixins.VSPackage\pMixins.VSPackage.csproj.teamcity] 
     [22:25:37][MSBuild output] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.VisualStudio.Shell.Interop.10.0". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\BuildServer\TeamCity_Agent\work\d059d781c29b14d2\pMixins.VSPackage\pMixins.VSPackage.csproj.teamcity] 
     [22:25:37][MSBuild output] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.VisualStudio.Shell.Interop.11.0". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\BuildServer\TeamCity_Agent\work\d059d781c29b14d2\pMixins.VSPackage\pMixins.VSPackage.csproj.teamcity] 
     [22:25:37][MSBuild output] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.VisualStudio.TextManager.Interop". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\BuildServer\TeamCity_Agent\work\d059d781c29b14d2\pMixins.VSPackage\pMixins.VSPackage.csproj.teamcity] 
     [22:25:37][MSBuild output] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.VisualStudio.Shell.11.0". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\BuildServer\TeamCity_Agent\work\d059d781c29b14d2\pMixins.VSPackage\pMixins.VSPackage.csproj.teamcity] 
     [22:25:37][MSBuild output] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.VisualStudio.Shell.Immutable.10.0". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\BuildServer\TeamCity_Agent\work\d059d781c29b14d2\pMixins.VSPackage\pMixins.VSPackage.csproj.teamcity] 
     [22:25:37][MSBuild output] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Microsoft.VisualStudio.Shell.Immutable.11.0". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\BuildServer\TeamCity_Agent\work\d059d781c29b14d2\pMixins.VSPackage\pMixins.VSPackage.csproj.teamcity] 
     [22:25:37][MSBuild output] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "VSLangProj, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\BuildServer\TeamCity_Agent\work\d059d781c29b14d2\pMixins.VSPackage\pMixins.VSPackage.csproj.teamcity] 
     [22:25:37][MSBuild output] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "VSLangProj80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [D:\BuildServer\TeamCity_Agent\work\d059d781c29b14d2\pMixins.VSPackage\pMixins.VSPackage.csproj.teamcity] 
     [22:25:37][MSBuild output] 
     [22:25:37][MSBuild output] 
     [22:25:37][MSBuild output] "D:\BuildServer\TeamCity_Agent\work\d059d781c29b14d2\pMixins.VSPackage\pMixins.VSPackage.csproj.teamcity" (Build target) (1) -> 
     [22:25:37][MSBuild output] (ResolveComReferences target) -> 
     [22:25:37][MSBuild output] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2015,5): warning MSB3284: Cannot get the file path for type library "80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2" version 8.0. Library not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)) [D:\BuildServer\TeamCity_Agent\work\d059d781c29b14d2\pMixins.VSPackage\pMixins.VSPackage.csproj.teamcity] 
     [22:25:37][MSBuild output] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2015,5): warning MSB3284: Cannot get the file path for type library "26ad1324-4b7c-44bc-84f8-b86aed45729f" version 10.0. Library not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)) [D:\BuildServer\TeamCity_Agent\work\d059d781c29b14d2\pMixins.VSPackage\pMixins.VSPackage.csproj.teamcity] 
     [22:25:37][MSBuild output] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2015,5): warning MSB3284: Cannot get the file path for type library "1a31287a-4d7d-413e-8e32-3b374931bd89" version 8.0. Library not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)) [D:\BuildServer\TeamCity_Agent\work\d059d781c29b14d2\pMixins.VSPackage\pMixins.VSPackage.csproj.teamcity] 
     [22:25:37][MSBuild output] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2015,5): warning MSB3284: Cannot get the file path for type library "2ce2370e-d744-4936-a090-3fffe667b0e1" version 9.0. Library not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)) [D:\BuildServer\TeamCity_Agent\work\d059d781c29b14d2\pMixins.VSPackage\pMixins.VSPackage.csproj.teamcity] 
     [22:25:37][MSBuild output] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2015,5): warning MSB3284: Cannot get the file path for type library "1cba492e-7263-47bb-87fe-639000619b15" version 8.0. Library not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)) [D:\BuildServer\TeamCity_Agent\work\d059d781c29b14d2\pMixins.VSPackage\pMixins.VSPackage.csproj.teamcity] 
     [22:25:37][MSBuild output] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2015,5): warning MSB3283: Cannot find wrapper assembly for type library "stdole". Verify that (1) the COM component is registered correctly and (2) your target platform is the same as the bitness of the COM component. For example, if the COM component is 32-bit, your target platform must not be 64-bit. [D:\BuildServer\TeamCity_Agent\work\d059d781c29b14d2\pMixins.VSPackage\pMixins.VSPackage.csproj.teamcity] 
     [22:25:37][MSBuild output] 
     [22:25:37][MSBuild output] 20 Warning(s) 
     [22:25:37][MSBuild output] 0 Error(s) 
+1

현자가 계속됩니다 : http://stackoverflow.com/questions/24328738/msbuild-teamcity-update-xml-file-vsixmanifest-vs2013 –

답변

4

Nicodemeus가 맞습니다. 이것은 사소한 작업이지만 가능합니다.

이 MSDN 문서 Visual Studio Extensions and Build Servers 비주얼 스튜디오의 과정을 통해 산책 일부 수정이있을 것이다 있도록 VS 2013 패키지를 구축을 위해 노력하는 것 같습니다 2010 년

:

+0

훌륭해, 고마워, 내가 해줄거야 –

+2

네 말이 맞아. 사소한 일이 아니었지만 얻었습니다! 앞으로 도움이된다면 https://github.com/ppittle/pMixins가 될 것입니다. 나는 또한이 프로젝트가 도움이되는 것을 발견했다 : https://github.com/fsprojects/VisualFSharpPowerTools –

1

당신은이 어려운 일을 찾을거야을 작업을하는 동안 많은 어획량을 감수해야하며 궁극적 인 해결책은 액세스 할 수있는 경우 필요한 어셈블리 만 설치하는 것입니다.

패키지를 만들더라도 기본 빌드 작업은 VsSdk 설치 경로를 검색하기 위해 환경 변수와 레지스트리 키를 검색합니다 (Microsoft.VsSDK.Build.Tasks의 VsSdk 빌드 작업 어셈블리를 심각하게 반영 함). .FolderLocator 예를 들어 GetSDKInstallationPath().

설치자없이 VsSdk를 사용하려면 컴퓨터에 대한 관리 액세스 권한이 필요하며 설치 패키지를 만들어 필요한 레지스트리 키와 환경 변수 및 해당 비트를 설치하고 사용자 정의 NuGet을 작성하십시오 패키지를 배포 할 수는 있지만, 그 시점에 이르면 필요한 기능을 재발 명하고 VsSdk MSI가 설치되어 있어야합니다.

관련 문제