簡體   English   中英

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

[英]EF Core add-migration doesn't work - Could not find assembly x64 instead of x86

我想在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 SDK的x64機器上,如何編譯為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...
}

因此,在本地計算機上創建的文件夾包含一個帶有“ win7-x87 ”的文件夾,如下所示

” .... \\ BIN \\調試\\ net452 ** WIN7-86 ** \\ MisapayHub.exe'”

而您得到的錯誤是您找不到在名為“ win7-x64 ”的文件夾中的匯編,如下所示

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

最簡單的解決方案是導航到net452文件夾,並將“ win7-x86 ”重命名為“ win7-x64 ”,這將解決該問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM