gpt4 book ai didi

.net - TeamCity WCF RIA 在构建期间缺少程序集

转载 作者:行者123 更新时间:2023-12-04 19:59:12 26 4
gpt4 key购买 nike

我无法让 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 包含这些文件?

最佳答案

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

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

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

如果您不使用 NuGet,那么 1 是最佳选择。 3 是最糟糕的选择,因为您的 CI 服务器现在变脏了。你在 CI 上安装的越多,它就越脏。这里的要点是,如果您的 CI 服务器上有允许您的构建编译的组件,您将不知道当您尝试将产品发布到实时服务器上时可能会丢失组件。

关于.net - TeamCity WCF RIA 在构建期间缺少程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18655888/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com