2015-06-22 89 views
0

我有一個項目在我的本地機器上使用MSBuild構建,但不是在構建服務器上。我已經將Visual Studio安裝到構建服務器上,並且該項目可以在構建服務器上正常生成。MSBuild CopyFilesMarkedCopyLocal實體框架問題

我碰到的MSBuild錯誤如下: -

error CS0012: The type System.Data.Entity.Core.Objects.DataClasses.EntityObject' is defined in an assembly that is not referenced. You must add a reference to assembly 'EntityFramework, Version=6.0.0.0,...

我可以在輸出的MSBuild找到唯一的區別是工作構建說_CopyFilesMarkedCopyLocal和我的實體框架的DLL跨複製。在從未出現的失敗構建上。我使用Visual Studio 2013和.Net 4.5,任何幫助將不勝感激。

以下是從未出現在失敗構建中的部分。

_CopyFilesMarkedCopyLocal: Copying file from "C:\CodeBase\DealerPortal\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.dll" to "....\Assemblies\EntityFramework.dll". Copying file from "C:\CodeBase\DealerPortal\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.SqlServer.dll" to "....\Assemblies\EntityFramework.SqlServer.dll". Copying file from "C:\CodeBase\DealerPortal\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.xml" to "....\Assemblies\EntityFramework.xml". Copying file from "C:\CodeBase\DealerPortal\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.SqlServer.xml" to "....\Assemblies\EntityFramework.SqlServer.xml".

回答

0

該錯誤基本上說,msbuild無法找到System.Data.Entity。

如果我正確理解你的問題:msbuild在你的本地機器上工作,並在Visual Studio中構建服務器上的項目。

因此,差異可能是安全上下文。當你在你的本地機器上運行msbuild時,你正在運行它。如果msbuild在構建代理的安全上下文中的服務器上運行,則構建代理的身份可能在訪問System.Data.Entity時遇到問題。

另一種可能性是System.Data.Entity的位置,請檢查它是如何被引用的。