EF Core添加迁移不起作用 - 无法找到程序集x64而不是x86

时间:2017-02-02 06:29:45

标签: c# entity-framework asp.net-core ef-migrations

我想在x64机器上使用.Net Framework 4.5.2构建x86 ASP.NET Core。所以我安装了SDK x86。 当我在PMC中运行迁移命令add-migration Init时,它会抛出:

Could not find assembly '...\.\bin\Debug\net452\win7-x64\MisapayHub.exe'.

尽管已编译的程序集放在

....\bin\Debug\net452\win7-x86\MisapayHub.exe'

如果我安装x64 SDK,它可以工作,但它不能在x86机器上运行。

所以我的问题:

  • 在这种情况下,如何解决?我尝试使用dotnet ef migrations add Init但未成功。

  • 在x64机器上使用x64 SDK,如何编译到x86或任何CPU?

环境:

- Windows 10 x64.
- Visual Studio 2015 Update 3.
- DotNet Core 1.1.0 x86

Project.json:

{
  "dependencies": {
    // others....
    "Microsoft.AspNet.WebApi.Core": "5.2.3",        
    "Microsoft.EntityFrameworkCore": "1.1.0",
    "Microsoft.EntityFrameworkCore.Design": "1.1.0",
    "Microsoft.EntityFrameworkCore.Relational": "1.1.0",
    "Microsoft.EntityFrameworkCore.Sqlite": "1.1.0",
    "Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
  },

  "tools": {
  },

  "frameworks": {
    "net452": {}
  },

  "buildOptions": {
    "platform": "anycpu",
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },
  "runtimes": {
    "win7-x86": {},
    "win7-x64": {}
  },

  // others...
}

1 个答案:

答案 0 :(得分:0)

因此,在本地计算机中创建的文件夹包含一个文件夹,其中包含" win7-x87 "如下

" .... \ BIN \调试\ net452 ** WIN7 86 ** \ MisapayHub.exe'"

您得到的错误是您无法在名为" win7-x64 "的文件夹中找到汇编。如下

无法找到程序集' .... \ bin \ Debug \ net452 \ win7-x64 \ MisapayHub.exe'。

最简单的解决方案是导航到net452文件夹并重命名" win7-x86 "到" win7-x64 "这将解决问题。