5

我有一个项目可以在我的计算机上完美运行,但是当尝试在 Team City 上构建它时,对于我拥有的源文件出现以下构建错误

using System.Data.Entity;    
using System.Data.Entity.Validation;


CS0234: The type or namespace name 'Validation' does not exist in the namespace 'System.Data.Entity' (are you missing an assembly reference?)

我是否需要在运行 Team City 的服务器上手动安装 Entity Framework 才能正常工作?

激活 Nuget 还原后更新:

这一定是某种配置问题。

我可以在构建日志中看到构建过程正在复制 .dll:

[Copy] Copying file from "D:\TeamCity\agent1\work\541c9f462afc285d\packages\EntityFramework.5.0.0\lib\net45\EntityFr    amework.dll" to "bin\Release\EntityFramework.dll".
[16:51:55][Copy] Copying file from "D:\TeamCity\agent1\work\541c9f462afc285d\packages\EntityFramework.5.0.0\lib\net45\EntityFramework.xml" to "bin\Release\EntityFramework.xml".

但不久之后,它正在考虑一堆不同的位置,但不包括 bin\Release\EntityFramework.dll" 文件夹。

更新 2:

手动将 .dll 复制到我的类库的 bin/release 文件夹有助于构建通过,但显然这不是可行的解决方案,因此需要继续找出如何正确配置它。

更新 3:

遗憾的是,从来没有找到令人满意的解决方案,所以非常欢迎任何能解决这个问题的天才。:)

4

1 回答 1

1

作为错误提示您缺少程序集。正如@Shriroop 建议的那样,这是在 EF packge 中。

在编译步骤之前,添加 Nuget Installer 步骤。您应该设置的选项很少,解决方案名称的路径,我建议您使用 nuget 2.7+ 和恢复模式:恢复。

要在 teamcity 中安装最新的 nuget 版本,请转到管理 > Nuget 设置 > NuGet.exe 并获取最新版本。

这是 NuGet 安装程序步骤的示例:http: //img.hihi.si/Upload/5PUm.png

于 2014-07-09T14:22:04.843 回答