TeamCity在构建期间缺少WCF RIA程序集。

3

我无法让Teamcity构建我的WCF RIA + Silverlight 5应用程序。问题是构建命令(csc.exe)中缺少组件。csc.exe命令的参数不包括所需的组件:

Microsoft.ServiceModel.DomainServices.Hosting.dll
Microsoft.ServiceModel.DomainServices.Tools.dll
System.ServiceModel.DomainServices.EntityFramework.dll
System.ServiceModel.DomainServices.Hosting.dll
System.ServiceModel.DomainServices.Hosting.OData.dll
System.ServiceModel.DomainServices.Server.dll

其他程序集都已正确包含。在.csproj文件中,提到的程序集已经正确列出。这些文件以正确的目录存在于系统中。

有人能告诉我如何使TeamCity包含这些文件吗?

1个回答

0

这可能不是一个特定的TeamCity问题,而是一个CI问题。当您推送/提交或任何您的源代码控制支持的更改时,这些更改会被您的CI服务器捕获。然后它会拉取最新的代码并尝试编译它。如果您的源代码控制不包含所有正确的程序集,并且它无法通过从NuGet获取或在GAC中查找来找到这些程序集,则代码将无法编译。

要解决此问题,您可以执行以下三个操作之一:

  1. 确定您需要的程序集,找到它们在您的本地开发机器上,将它们添加到您的源代码控制库文件夹中,并更改解决方案项目以从那里引用程序集。
  2. 如果您正在使用NuGet,请查看您想要的程序集是否可从Nuget获取(请尝试此处:https://www.nuget.org/packages/RIAServices.Server/
  3. 在您的CI服务器(和构建代理)上安装缺少的程序集到GAC中

如果您不使用NuGet,那么选项1是最佳选择。选项3是最差的选择,因为您的CI服务器现在变得不干净。您在CI上安装的组件越多,它就会变得越脏。关键在于,如果您的CI服务器上有允许构建编译的组件,那么当您尝试将产品发布到实时服务器时,您将不知道可能会缺少哪些组件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接