获取错误资产文件“obj\project.assets.json”没有“.NETCoreApp,Version=v2.2”的目标

sun*_*nny 10 c# asp.net-core-mvc asp.net-core asp.net-core-3.0

我使用微软将我的 MVC 核心项目从 2.2 升级到 3.0

并更改此处推荐的许多内容:https : //stackoverflow.com/

在本地运行它时它工作正常,但是当我想在本地文件夹中发布时,我收到此错误:

资产文件“obj\project.assets.json”没有“.NETCoreApp,Version=v2.2”的目标。确保恢复已运行并且您已在项目的 TargetFrameworks 中包含“netcoreapp2.2”

我有 3 个项目,它们都升级到 MVC 核心 3.0 也将所有包升级到 3.0 还删除对象文件夹和 bin 文件夹并再次构建项目,关闭 VS 并再次打开它,但错误仍然存​​在。

更新: mvc 项目 csproj

<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
  <TargetFramework>netcoreapp3.0</TargetFramework>   
</PropertyGroup>

<ItemGroup>
 <!--<PackageReference Include="Microsoft.AspNetCore.App" />-->
  <PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="3.0" 
 />      
   <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" 
Version="3.0.0" />
</ItemGroup>

<ItemGroup>
  <Folder Include="Areas\Admin\Data\" />
  <Folder Include="Areas\Admin\Models\" />
 </ItemGroup>

<ItemGroup>
  <ProjectReference Include="..\project.Model\project.Model.csproj" />
  <ProjectReference Include="..\project.Repo\project.Repo.csproj" />
</ItemGroup>

</Project>
Run Code Online (Sandbox Code Playgroud)

我的project.Model.csproj

<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
  <TargetFramework>netcoreapp3.0</TargetFramework>  
</PropertyGroup>

<ItemGroup>
  <PackageReference 
Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="3.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" 
 Version="3.0.0">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; 
   buildtransitive</IncludeAssets>
  </PackageReference>
  <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" 
 Version="3.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" 
 Version="1.1.6" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" 
 Version="3.0.0">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; 
 buildtransitive</IncludeAssets>
 </PackageReference>
 </ItemGroup>

 </Project>
Run Code Online (Sandbox Code Playgroud)

Mik*_*ike 11

在我们的例子中,从 netcoreapp30 切换到 netcoreapp31 作为目标框架后,我们在发布时遇到了非常类似的错误。我们通过以下方法解决了这个问题:

  1. 关闭 Visual Studio
  2. 删除文件 \obj\project.assets.json
  3. 再次打开解决方案
  4. 重建解决方案

之后我们就可以很好地发布项目了。


Jim*_*cox 6

确保您的发布配置文件为 TargetFramework 显示 netcoreapp3.0。

  • 这是我的问题。我从 .netcore 2.2 升级到 3,但我的发布配置文件没有更新。尽管 UI 表示它的目标是 .netcore 3.1,但事实并非如此。我查看了 .pubxml 文件,它仍然有 .netcoreapp2.2,但使用发布配置 UI 并未反映出来。 (2认同)