为什么add-migration命令在使用.NET的Visual Studio中生成成功时仍出错

zwghvu4y  于 2023-04-22  发布在  .NET
关注(0)|答案(1)|浏览(279)

我是.NET的新手,在Visual Studio 2022中执行add-migration命令时不断收到以下错误。Error Details

You must install or update .NET to run this application.

App: C:\Users\myname\.nuget\packages\microsoft.entityframeworkcore.tools\3.1.1\tools\netcoreapp2.0\any\ef.dll
Architecture: x64
Framework: 'Microsoft.NETCore.App', version '2.0.0' (x64)
.NET location: C:\Program Files\dotnet\

The following frameworks were found:
  3.1.32 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  5.0.17 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  6.0.16 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  7.0.5 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

Learn about framework resolution:
https://aka.ms/dotnet/app-launch-failed

To install missing framework, download:
https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=2.0.0&arch=x64&rid=win10-x64

注意
App: C:\Users\myName\.nuget\packages\microsoft.entityframeworkcore.tools\3.1.1\tools\netcoreapp2.0\any\ef.dll并不指向我的解决方案/项目的位置,而是指向某个nuget包。
.csproj文件提到了<TargetFrameworks>netcoreapp3.1</TargetFrameworks>。所以我假设我的应用程序使用的是.NET 3.1,它已经安装在我的系统中。但错误说我应该有.NET 2.0.0
我试图在包管理器控制台中检查.NET版本。
PM> dotnet --version
7.0.203
我真诚地感谢任何修复或帮助理解为什么它要求2.0.0时,我的应用程序使用3.1和为什么它显示7.0时,我试图检查版本在PM控制台。

ee7vknir

ee7vknir1#

PM> dotnet --version
7.0.203

此命令显示的是您在系统上安装的最新版本的.NET,而不是您的项目使用的版本。

<TargetFrameworks>netcoreapp3.1</TargetFrameworks>

虽然这已经表明您的应用正在使用.NET Core 3.1,但如果您想使用.NET 7,则应将其替换为

<TargetFramework>net7.0</TargetFramework>

之后,我会将nuget软件包更新到相应的版本,然后再试一次。

相关问题