ASP.NET 核心 - 资产文件没有 .NETCoreApp 3.1 的目标

ASP.NET Core - Assets file doesn't have a target for .NETCoreApp 3.1

我正在尝试将我的应用程序编译到 运行 Core 3.0(不是 3.1)

而且我能够在本地编译并且 运行 很好,但是当我发布时它给了我:

Error NETSDK1005: Assets file 'C:\dev...\project.assets.json' doesn't have a target for '.NETCoreApp,Version=v3.1'. Ensure that restore has run and that you have included 'netcoreapp3.1' in the TargetFrameworks for your project.

但我不想在 3.1 上实现 运行,我需要 3.0(以保持与其他项目的兼容性)

是否可以找出导致它寻找 3.1 而不是 3.0 的原因?

请检查您的构建配置

  1. 将所有 DLL 更新到版本 3.0

  2. 检查你的构建配置

  3. 编辑 FolderProfile.pubxml并将<TargetFramework>netcoreapp3.1</TargetFramework>更改为<TargetFramework>netcoreapp3.0</TargetFramework>

更新 nuget 版本为我修复了它:

nuget update -self

如果您希望在 Visual Studio 中更新 nuget 版本,只需按照 this 步骤操作即可。

更新 visual studio 这是 Microsoft 的一个错误,他们已修复该问题。

我在从 3.1 升级到 Net 6.0 后遇到了同样的问题,它会构建但不会发布。然后,我也将现有的发布配置文件更新为 Net 6.0,现在一切正常。

Publish Profile Setting to change as well

对我来说最快的方法是删除资产文件并 运行在 nuget“程序包管理器控制台”中 dotnet restore command 并使一切 运行 顺利