【问题标题】:Change reference path from GAC to folder at compile time在编译时将引用路径从 GAC 更改为文件夹
【发布时间】:2011-09-20 10:30:57
【问题描述】:

我有一个依赖于一些 3rd 方库的项目。这些程序集在 GAC 中注册。到目前为止,一切工作正常。 但是在构建服务器上构建项目时,第 3 方程序集不在 GAC 中,而是在一个额外的文件夹(称为 external)中,该文件夹也在构建服务器使用的 SVN 存储库中。

由于 MSBuild 找不到这些程序集,构建将失败。有没有办法告诉构建服务器上的 MSBuild 使用此文件夹中的程序集而不是 GAC?

【问题讨论】:

    标签: visual-studio-2010 reference msbuild compile-time build-server


    【解决方案1】:

    最佳实践是在构建时引用来自 GAC 的第 3 方程序集。而是从一个公共源代码控制文件夹中引用所有 3rd 方程序集。

    如果您使用编辑器打开项目,理想情况下您将为每个第 3 方参考提供一个 HintPath。即:

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

    【讨论】:

      【解决方案2】:

      这应该可行

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

      相关位将是 c 的“ReferencePath”参数 :)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-18
        • 2010-10-17
        • 1970-01-01
        • 1970-01-01
        • 2020-04-29
        相关资源
        最近更新 更多