3

我有一个参考 Telerik 程序集的解决方案。参考版本已安装在构建服务器上。问题是持续集成构建始终成功,直到我在解决方案和构建服务器上升级 Telerik 程序集。构建现在失败给出经典:

无法解析此引用。

我检查了我的解决方案,所有内容都设置为引用特定版本。最令人惊讶的是,如果我在构建服务器上本地打开解决方案,一切都将毫无问题地构建......这意味着 Telerik 程序集已经以某种方式发布,但是由于未知原因,当调用 MSBuild 来编译解决方案时通过构建服务,它不起作用。

有任何想法吗?

4

3 回答 3

7

更新到 Q3 版本后,我遇到了同样的问题。

为了解决这个问题,我构建了将 Logging Verbosity 设置为 Diagnostic 的解决方案,发现 MSBuild 从不费心去查看 Telerik 文件夹。

因此,为了在构建中包含该文件夹,我们只需添加一个 MSBuild 参数即可:/p:ReferencePath="C:\Program Files\Telerik\RadControls for WPF Q3 2012\Binaries\WPF40"

它可能不是最好的,每次更新 RadControls 时都需要更新,但它确实有效。

我们在 x86 安装上运行构建服务器,因此 Telerik 位于 C:\Program Files 下,但如果您在 x64 上运行,它位于 C:\Program Files(x86) 下,因此如果您在两个 x64 上运行多个构建服务器和 x86 安装,您必须同时指定两个路径。

于 2012-10-22T12:13:41.757 回答
0

我通常发现将引用的程序集复制到解决方案中并从那里引用它们会更好。然后构建服务器和其他开发人员无需担心安装该特定版本,您可以支持多个项目运行不同版本的组件。

于 2012-10-09T21:58:24.293 回答
0

尝试删除-然后-添加对更新的 dll 的引用 - 如果与引用的程序集有任何差异,您可以在 proj 文件中查看。

为 msbuild 启用详细\诊断模式(/v:diag 命令行键)并检查构建日志。诊断模式有关于引用库搜索过程的非常详细的输出。

于 2012-10-09T13:19:58.680 回答