我有一个在我的计算机上完美运行的项目,但是当我尝试在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:
始终没找到这样的令人满意的解决方案,我痛心地说,这样就可以解决这个问题的任何天才都非常欢迎。 :)
答案 0 :(得分:1)
如错误提示您缺少装配。正如@Shriroop所说,这是在EF packge。
在编译步骤之前,添加Nuget Installer步骤。你应该设置几个选项,解决方案名称的路径,我建议你使用nuget 2.7+和恢复模式:恢复。
要在teamcity中安装最新的nuget版本,请转到管理> Nuget设置> NuGet.exe并获取最新版本。
以下是NuGet Installer步骤的示例:http://img.hihi.si/Upload/5PUm.png