根本解决Visual Studio找不到资产文件“project.assets.json”的问题

最近遇到一个怪问题,在github下载的开源项目都不能自动生成,生成时报错

找不到资产文件“E:\***\obj\project.assets.json”。运行 NuGet 包还原以生成此文件

    于是在某度上搜索解决方案,是用执行命令的方式重新生成解决,但是改变不了根本。查了一下官网,原来有二种错误的解决方案,一种是执行命令的方法,另外一种是因为vs的nuget的设置问题导致。下面我们来具体看看如何使用:.

1、执行命令的方式解决

点击工具,分别展开命令行->开发者命令提示,打开命令提示,如下图1

根本解决Visual Studio找不到资产文件“project.assets.json”的问题

图1

在命令提示框中输入msbuild -t:restore

根本解决Visual Studio找不到资产文件“project.assets.json”的问题

图2

最后运行 msbuild 或dotnet build ,自动还原NuGet包

使用命令的方式也可以直接在项目所在的文件夹打开CMD,输入dotnet build。

微软官网解释的原因:“project.assets.json 文件在使用 PackageReference 管理格式时维护项目的依赖项关系图,用于确保在计算机上安装了所有必需的包。由于此文件是通过包还原动态生成的,它通常不添加到源代码管理中。因此,该错误在使用工具生成项目时出现,例如,不自动还原包的 msbuild”

2、在nuget设置中解决

其实这个错误的本质是关闭了允许nuget自动安装包的设置,解决方法是点击工具,分别展开NuGet包管理器、程序包管理器设置。

根本解决Visual Studio找不到资产文件“project.assets.json”的问题

打卡设置后勾选“允许NuGet下载缺少的程序包”和“在Visual Studio中生成期间自动检查缺少的程序包”就可以了,如下图

根本解决Visual Studio找不到资产文件“project.assets.json”的问题

这个问题可能是有包冲突后关闭了这个设置。