我使用Entity Framework 4.1编写了一个简单的WCF服务。在我的参考资料中,我有EntityFramework.Dll 4.1.0.0和System.Data.Entity 4.0.0.0。我将Copy Local设置为True。当我发布服务时,两个提到的DLL都在BIN文件夹中,但是当我调用该服务时,我收到以下错误:
给定的程序集名称或代码库'C:\ WINDOWS \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Data.Entity \ v4.0_4.0.0.0__b77a5c561934e089 \ System.Data.Entity.dll'无效。
答案 0 :(得分:0)
System.Data.Entity.dll不可以进行bin部署。如果您在目标计算机上安装了.NET Framework 4,则应该具有此程序集。它应该在GAC中。加载程序集时,CLR首先在GAC中查找并忽略bin目录中的任何内容。如果目标计算机上没有.NET Framework 4,则程序将无法运行 - System.Data.Entity.dll是.NET Framework的一部分,依赖于.NET Framework(在本例中为.NET Framework 4)。尝试删除并读取对System.Data.Entity.dll的引用,以清除您在项目中所做的所有更改以将其复制,然后将程序部署到目标计算机。