You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于.NET Core 3的WPF项目:如何让EF Core迁移用x64平台编译?

解决EF Core迁移命令使用x64平台编译的问题

这个问题我之前也碰到过——虽然你在VS2019里把项目目标平台改成了x64,但dotnet ef命令默认可能还是会沿用AnyCPU配置来编译项目,自然就触发了那个不支持AnyCPU的包的错误。下面给你几个可行的解决办法:

方法1:执行迁移命令时直接指定平台

最简单的方式就是在执行迁移命令时,手动加上--platform参数指定x64平台:

dotnet ef migrations add YourMigrationName --platform x64

这个方法每次执行都要带参数,但胜在直接灵活,适合临时或偶尔执行迁移的场景。

方法2:修改项目文件,固定默认编译平台

如果你不想每次都手动加参数,可以直接修改项目的.csproj文件,把默认编译平台锁死为x64:

  1. 右键你的WPF项目,选择「编辑项目文件」
  2. 在主<PropertyGroup>节点中添加或修改<PlatformTarget>元素:
<PropertyGroup>
  <!-- 保留原有配置 -->
  <PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
  1. 如果你有Debug/Release等多配置环境,可以确保每个配置组都设置了x64:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
  <PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
  <PlatformTarget>x64</PlatformTarget>
</PropertyGroup>

保存文件后重新执行迁移命令,dotnet ef就会默认用x64编译项目了。

方法3:在VS包管理器控制台(PMC)中指定平台

如果你习惯用VS的PMC来操作迁移:

  1. 先在VS工具栏的「解决方案平台」下拉框中,切换到x64(确保不是AnyCPU)
  2. 在PMC中先指定目标项目:
Set-DefaultProject YourDataContextProjectName
  1. 然后正常执行迁移命令:
Add-Migration YourMigrationName

最后建议你清理项目的bin和obj文件夹,重新编译一次,避免残留的AnyCPU编译文件干扰迁移过程。

内容的提问来源于stack exchange,提问作者Chao Xie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 16:07:45