0

我使用 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”无效。

4

1 回答 1

0

System.Data.Entity.dll 不可部署。如果您在目标计算机上安装了 .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 的引用以清除您在项目中所做的所有更改以复制它,然后将您的程序部署到目标计算机。

于 2012-06-04T21:34:41.853 回答