2

关于 Entity Framework 4 和 Visual Studio 2012 是否有任何技巧/解决方法/已知的“陷阱”?

我有一个项目可以在我的 Windows 7、VS 2010、.NET 4 机器上完美运行和编译。周末我安装了一台新机器,带有 Windows 8 Enterprise RTM 和 VS 2012 Ultimate RTM。EF 设计是开箱即用的,使用 ObjectContext 方法(EF 4.1 之前)。

我从源代码管理中检索了工作解决方案,完成了转换过程,并使其在针对 .NET 4 Framework 的 VS2012 中成功构建。

但是,当我运行应用程序或调试它时,我从第一个 EF 调用中得到“无法加载元数据资源” 。苏..

第 1 步:处理 EF 错误

好的,所以我使用dotPeek查看程序集,果然在VS2012中构建时,EDMX元数据文件不在程序集中。

第二步:解决资源缺失问题

  • 我将元数据处理设置为“复制到输出”,然后返回“嵌入”以强制执行。没有。
  • 我查看了 4.5 的 MSBUILD 文件,以查看 EntityDeploy 目标是否看起来已损坏。没有。
  • 我对 VS 2012 进行了全面修复,看看是否有问题。没有。
  • 将 MSBUILD VS 版本设置为“11.0”以避免 csproj 中的 2010 兼容性检查。没有。

第 3 步:删除模型,使用 VS 2012 默认值重试

好的,我想我只是无法完成这项工作。所以我删除了模型,并在 VS 2012 中读取为新模型,它使用 NuGet 的 EF 5.0,并使用 DbContext 方法重新构建。整理好所有这些,修复了一些 b/t EF 4.0 和 5.0 的语法问题,我们正在构建。

仍然得到同样的错误,.DLL 中仍然没有资源

我的一位同事可以在 VS 2012 中成功构建,但在没有安装 .NET 4.5 的 Windows 7 上。

.NET 4.5 或 MSBUILD 4.5 中是否存在错误或已知问题?必须缺少一些简单的东西。

4

1 回答 1

3

弄清楚了。我在这个项目中没有 .resources 文件,而且 .NET 4.5 中的 CoreCompile 似乎没有嵌入任何不存在的 EF 资源文件。

试图研究这是预期的还是新的行为。

于 2012-08-24T19:23:43.480 回答