在团队城市上构建时'System.Data.Entity'命名空间中不存在'Validation'



我有一个在我的计算机上完美工作的项目,但是当试图在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的服务器上手动安装实体框架才能正常工作?

激活Nuget Restore后更新:

这一定是配置问题。

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

[Copy] Copying file from "D:TeamCityagent1work541c9f462afc285dpackagesEntityFramework.5.0.0libnet45EntityFr    amework.dll" to "binReleaseEntityFramework.dll".
[16:51:55][Copy] Copying file from "D:TeamCityagent1work541c9f462afc285dpackagesEntityFramework.5.0.0libnet45EntityFramework.xml" to "binReleaseEntityFramework.xml".

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

更新2:

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

更新3:

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

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

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

要在teamcity中安装最新的nuget版本,请进入管理> nuget设置> nuget .exe获取最新版本。

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

相关内容

最新更新