未找到资产文件project.Assets.json。运行NuGet包还原
我试图使用nopCommerce(它是用.NETCore编写的),但是当我想要运行这个项目时,我会遇到52个错误,告诉我运行nuget包还原 资产文件~\obj\project.Assets.json'未找到。运行NuGet包还原以生成此文件。Nop.Web.MVC.Testsote 当我使用鼠标右键单击解决方案并选择Restore Nuget Packages时,我会收到以下消息: 所有软件包都已安装,无需恢复未找到资产文件project.Assets.json。运行NuGet包还原,nuget,visual-studio-2017,.net-core,nuget-package-restore,Nuget,Visual Studio 2017,.net Core,Nuget Package Restore,我试图使用nopCommerce(它是用.NETCore编写的),但是当我想要运行这个项目时,我会遇到52个错误,告诉我运行nuget包还原 资产文件~\obj\project.Assets.json'未找到。运行NuGet包还原以生成此文件。Nop.Web.MVC.Testsote 当我使用鼠标右键单击解决方案并选择Restore Nuget Packages时,我会收到以下消息: 所有软件包都已安装,无需恢复 但这52个错误仍然存在,在工具->NuGet Package Manager->管
但这52个错误仍然存在,在工具->NuGet Package Manager->管理NuGet Packages for Solution中,解决方案上没有安装任何东西,而且我最近将我的VS2017更新为15.5.4以从工具>NuGet Package Manager>Package Manager控制台修复此错误,只需运行:
dotnet restore
出现此错误是因为dotnet cli最初没有创建所有必需的文件。执行dotnet还原会添加所需的文件。在我的例子中,错误是GIT存储库。名称中有空格,使我的项目无法恢复 如果这是您的问题,只需在克隆时重命名GIT存储库
git clone http://Your%20Project%20With%20Spaces newprojectname
我在VS2017中在dot net core中创建lambda时出错。对我来说,有效的方法是卸载项目并重新加载 回答有点晚,但似乎这会增加价值。查看错误-它似乎发生在CI/CD管道中 只要运行“dotnetbuild”就足够了 网络构建
dotnet build默认情况下运行“还原”。关闭并重新打开Visual Studio为我解决了这个问题,因为我已经确保NuGet软件包已按照此处发布的其他答案还原
编辑:有时只是尝试重新构建就可以解决问题。如果简单地恢复NuGet软件包不起作用,请确保在工具->选项->NuGet软件包管理器包恢复下选中“允许NuGet下载丢失的包”
然后,在删除obj和bin文件夹后,再次还原NuGet程序包,或仅重建。在visual studio 2017中,请执行以下步骤: 1) 选择工具=>Options=>NuGet Package Manager=>Package Sources,然后取消选中Microsoft Visual Studio脱机软件包选项。 2) 现在打开工具=>NuGetPackageManeger=>PackageManager控制台。 3) 在PM>dotnet restore中执行命令
希望它能正常工作…之后在package manager控制台中以管理员身份运行VS运行dotnet restore。如果“dotnet restore”不起作用,以下步骤可能会有所帮助:
选择工具NuGet软件包管理器软件包管理器控制台 然后运行:
dotnet restore <project or solution name>
dotnet还原
如果@mostafa bouzari没有帮助,请在“错误列表”或“输出”窗口中仔细检查NuGet无法恢复的错误原因,例如,如果您在代理后出现网络问题。另一个错误,如果您使用Dropbox,请在文件名中检查冲突的,在您的repo中搜索并删除所有冲突的档案
如果您移动了文件,则可能会发生这种情况。此缺陷的原因:您必须在文件资源管理器中删除注入的Nuget。
解决方案:一旦您删除了系统中的Nuget,然后从以下位置删除。
选择工具=>Options=>NuGet Package Manager=>Package Sources,然后取消选中Microsoft Visual Studio脱机软件包选项(当我这样做时),此时仍发生dotnet还原错误
我去了
1工具->NuGet软件包管理器->软件包管理器设置->单击“在NuGet Catch上清除”
2.dotnet恢复
解决了问题。这对我很有用:
已添加此程序包源:
微软和.net
然后在控制台中运行“dotnet restore”,当使用VSTS时,检查您的global.json文件。我输入的sdk版本仅为“2.2”,这导致了一个解析错误(但在本地构建时没有)。添加完整版本“2.2.104”“解决了问题。对于那些在Azure DevOps/VSTS环境中遇到与我相同问题的人,遇到类似消息:
C:\Program Files\dotnet\sdk\2.2.104\sdk\Microsoft.NET.sdk\targets\Microsoft.PackageDependencyResolution.targets(208,5):找不到错误NETSDK1004:Assets文件“…\obj\project.Assets.json”。运行NuGet包还原以生成此文件
将/t:Restore
添加到生成解决方案中的MSBuild参数。对于我来说,我将NuGet.exe从3.4升级到了4.9,因为3.4不了解如何还原.NET Core的包
有关详细信息,请参见以上内容均不适用于我。但是简单地删除所有的“bin”和“obj”文件夹就行了。当我在构建管道中设置“Visual Studio构建”任务以在我的解决方案中构建单个项目而不是整个解决方案时,我在Azure DevOps中因此错误损失了几个小时
这样做意味着DevOps要么不构建任何(或者可能是一些,我不确定是哪个)您针对构建的项目引用的项目,因此这些项目不会生成project.json.asset文件,这会导致此问题
我的解决方案是从使用VS构建任务切换到MSBuild任务。对单个项目使用MSBuild任务可以正确生成您正在生成的项目所引用的任何项目,并消除此错误。在我的例子中,可用的包源有问题。我已经将本地nuget存储库文件夹移动到一个新路径,但我没有更新它