在构建控制器中看不到磁盘引用

时间:2013-05-13 11:29:04

标签: c# msbuild continuous-integration

我有各种项目引用C:\Program Files (x86)中的程序集。我以完全相同的方式在我的构建控制器上安装了程序集,文件在C:\中,但是每当我触发构建时,我的控制器都找不到程序集。

<Reference Include="GrapeCity.ActiveReports.Diagnostics.v7, Version=7.0.6163.0, Culture=neutral, PublicKeyToken=..., processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
</Reference>

项目中的引用如上所示,在我看来,我可以理解为什么构建控制器找不到引用,因为没有提示路径。

我尝试将Copy Local更改为true,将Specific Version更改为false,但这也无效。我应该在项目中更改什么,构建控制器或构建定义以使服务器具有程序集的范围?

1 个答案:

答案 0 :(得分:1)

因此,解决此问题的一种方法是不参考GAC。

<Reference Include="GrapeCity.ActiveReports.Diagnostics.v7, Version=7.0.6163.0, Culture=neutral, PublicKeyToken=..., processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
</Reference>
  1. 找到这个GrapeCity.ActiveReports.Diagnostics.v7.dll。
  2. .sln文件所在的位置,创建。\ ThirdPartyReferences \文件夹。
  3. 将GrapeCity.ActiveReports.Diagnostics.v7.dll复制到该目录。
  4. 删除“gac”参考。
  5. 添加更多本地。\ ThirdPartyReferences \ reference。
  6. 检查。\ ThirdPartyReferences \文件夹到源代码管理中。
  7. 确保。\ ThirdPartyReferences \在构建过程中从源代码管理中“拉下”。
  8. OR

    使用安装工具在构建服务器上安装“GrapeCity.ActiveReports”。 哪个应该在构建服务器上正确进入GAC。

    我通常会选择第一个选项(我上面的第一个选项)。 我喜欢很好地处理我的ThirdParty依赖于我的构建。