我试图使用nopCommerce(这是写在。net核心),但当我想运行项目时,我面临52个错误告诉我运行一个nuget包恢复

Assets文件~\obj\project.assets。Json没有找到。运行NuGet包还原生成此文件。Nop.Web.MVC.Testsote

当我使用右键单击解决方案并选择恢复Nuget包时,我得到这样的消息:

所有的包都已经安装,没有什么要恢复的。

但是这52个错误仍然存在,在工具-> NuGet包管理器->管理解决方案的NuGet包中,解决方案上没有安装任何东西,我最近更新了我的VS2017到15.5.4


当前回答

我在Azure DevOps上收到了一条关于找不到文件的消息

我需要在我的YAML部署文件中创建这个,AFTER BUILD TASK

- task: NuGetCommand@2
  inputs:
    command: 'restore'
    restoreSolution: '**\*.sln'
    feedsToUse: 'config'
    noCache: false

其他回答

如果“dotnet还原”不工作,以下步骤可能会有所帮助:

Visual Studio >> Tools >> Options >> Nuget Manager >> Package Sources 未选中任何第三方包源。 重建方案。

以管理员身份运行VS,然后在包管理控制台运行dotnet restore。

当您的构建工具没有设置为对设置为使用PackageReference vs packages的项目进行恢复时,会发生此问题。配置和主要影响Net Core和Netstandard新风格的项目。

当你打开Visual Studio并进行构建时,它会为你解决这个问题。但是如果您使用自动化、CLI工具,就会遇到这个问题。

这里提供了许多解决方案。但你只需要记住,你需要强制还原。在某些情况下,在构建之前使用dotnet还原。如果使用MsBuild构建,只需在命令中添加/t:Restore switch。

总之,您需要了解为什么恢复不能被激活。坏的nuget源或丢失恢复操作,或过时的nuget.exe,或以上所有。

对于那些在Azure DevOps / VSTS环境中遇到类似问题的人:

C:\Program Files\dotnet\sdk\2.2.104\Sdks\ Microsoft.NET.Sdk\targets\ microsoft . packagedependencyresolve .targets(208,5):错误NETSDK1004: Assets file '…\obj\project.assets。Json没有找到。运行NuGet包还原生成此文件

Add /t:恢复到生成解决方案中的MSBuild参数。

通过添加/t:Restore;Build到MSBuild参数解决