3

일부 타사 라이브러리에 의존하는 프로젝트가 있습니다. 이러한 어셈블리는 GAC에 등록됩니다. 지금까지 모든 것이 잘 작동합니다. 그러나 빌드 서버에서 프로젝트를 빌드 할 때 타사 어셈블리는 GAC에 없지만 빌드 서버가 사용하는 SVN 저장소에도있는 추가 폴더 (외부)가 있습니다.컴파일시 참조 경로를 GAC에서 폴더로 변경하십시오.

MSBuild에서 이러한 어셈블리를 찾을 수 없기 때문에 빌드가 실패합니다. GAC 대신이 폴더에서 어셈블리를 사용하도록 buildserver에서 MSBuild에 지시하는 방법이 있습니까?

답변

0

MSBuild.exe "%BUILD_TARGET%" /t:rebuild /p:OutputPath="%OUTPUT_PATH%" /p:ReferencePath="%REF_PATH%" 

은 관련 비트가 가장 좋은 방법은 하지 빌드 시간에 GAC에서 제 3 자 어셈블리를 참조하는 것입니다 :)

2

OFC 'ReferencePath'매개 변수가 될 것입니다 작동합니다 . 대신 공통 소스 제어 폴더에서 모든 타사 어셈블리를 참조하십시오.

편집기로 프로젝트를 여는 경우 이상적으로 각 타사 참조에 대해 HintPath이 표시됩니다. 예 :

<Reference Include="Microsoft.Practices.Unity"> 
    <HintPath>..\..\..\3rd Party\Prism4\Microsoft.Practices.Unity.dll</HintPath> 
</Reference> 
관련 문제