【问题标题】:Add-Migration command not working in EF 7 for UWP appAdd-Migration 命令在 UWP 应用程序的 EF 7 中不起作用
【发布时间】:2016-01-04 05:30:34
【问题描述】:

我在关注getting started with EF 7 for UWP apps官方教程。

当我在 Add-Migration MyFirstMigration 时,它会抛出以下错误:

PM> Add-Migration MyFirstMigration

Add-Migration : Exception calling "CreateInstanceAndUnwrap" with "8" argument(s): "Could not load file or assembly 'AppShellProject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' 
or one of its dependencies. An attempt was made to load a program with an incorrect format."
At line:1 char:1
+ Add-Migration MyFirstMigration
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Add-Migration], MethodInvocationException
    + FullyQualifiedErrorId : BadImageFormatException,Add-Migration

有人想出解决办法吗?

【问题讨论】:

  • 它对我很有效。您是否在空白 UWP 应用项目中执行了完全相同的步骤?什么是 AppShellProject,您自己的项目还是通过 NuGet 获得的?你能在 project.json 中找到它吗?
  • @AlanYao-MSFT 我将目标更改为 x86(以前是 x64)并且它有效。谢谢,你拯救了我的一天和几周(我想学习 SQLite-Net)。我在查看 project.json 后进行了此更改。为什么它不适用于 x64?请将此添加为答案,以便我将问题标记为已解决:)
  • 您可能遇到问题#1058

标签: sqlite uwp entity-framework-core


【解决方案1】:

干得好@Anil。 :)

实际上,由于此类问题可能与 Visual Studio 工具或 NuGet 有关。通过在 GitHub 上的 EF 存储库中搜索“CreateInstanceAndUnwrap Add-Migration”,您将在那里看到一些 issues。如果您下次找不到任何现有问题,就像我问的问题(project.json、项目类型等)一样,请尝试找出您的步骤/配置之间的区别,本教程将对您有所帮助,您将了解更多信息以获得快速解答。

相信@bricelam 已经指出了你遇到的问题,没有人比他更熟悉EF7。我想在那个问题中从@bricelam 那里挑选一些关键信息作为结尾:

正确,迁移命令不适用于 x64 程序集。当前的实现在 VS (devenv.exe) 创建的 AppDomain 内部执行,这是一个 32 位进程。

您必须在设计时使用 x86。

【讨论】:

    猜你喜欢
    • 2016-11-04
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    • 2015-09-22
    • 1970-01-01
    • 2020-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多