我有一个依赖于某些第三方库的项目。这些程序集在GAC中注册。到目前为止,Everythings工作正常。 但是,当在构建服务器上构建项目时,第三方程序集不在GAC中,而是在一个额外的文件夹(称为外部)中,该文件夹也位于构建服务器使用的SVN存储库中。 / p>
由于MSBuild无法找到这些程序集,因此构建将失败。有没有办法告诉构建服务器上的MSBuild使用此文件夹中的程序集而不是GAC?
答案 0 :(得分:2)
最佳做法是 NOT 在构建时从GAC引用第三方程序集。相反,请从公共源控制文件夹中引用所有第三方程序集。
如果您使用编辑器打开项目,理想情况下,每个第三方参考都会有HintPath
。即:
<Reference Include="Microsoft.Practices.Unity">
<HintPath>..\..\..\3rd Party\Prism4\Microsoft.Practices.Unity.dll</HintPath>
</Reference>
答案 1 :(得分:0)
这应该有效
MSBuild.exe "%BUILD_TARGET%" /t:rebuild /p:OutputPath="%OUTPUT_PATH%" /p:ReferencePath="%REF_PATH%"
相关位将是c的“ReferencePath”参数:)