'验证'名称空间中不存在System.Data.Entity'在Team City上建立时

时间:2014-07-09 14:12:43

标签: c# entity-framework continuous-integration teamcity assembly-references

我有一个在我的计算机上完美运行的项目,但是当我尝试在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 Restore后更新:

这必定是某种配置问题。

我可以在构建日志中看到构建过程正在复制.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:

始终没找到这样的令人满意的解决方案,我痛心地说,这样就可以解决这个问题的任何天才都非常欢迎。 :)

1 个答案:

答案 0 :(得分:1)

如错误提示您缺少装配。正如@Shriroop所说,这是在EF packge。

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

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

以下是NuGet Installer步骤的示例:http://img.hihi.si/Upload/5PUm.png