0

我有各种项目在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 LocaltotrueSpecific Versionto false,这也没有用。我应该在我的项目、构建控制器或构建定义中进行哪些更改以使服务器具有程序集的范围?

4

1 回答 1

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\ 参考。
  6. 将 .\ThirdPartyReferences\ 文件夹检查到源代码管理中。
  7. 确保 .\ThirdPartyReferences\ 在构建期间从源代码管理“下拉”。

或者

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

我通常选择第一个选项(我上面的第一个选项)。我喜欢很好地处理我的第三方依赖项对我的构建的影响。

于 2013-05-13T15:10:17.220 回答