[英]C# IO doesn't work on x64 or on x86 configuration only on Any CPU
[英]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.