未找到资产文件project.Assets.json。运行NuGet包还原

未找到资产文件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->管

我试图使用nopCommerce(它是用.NETCore编写的),但是当我想要运行这个项目时,我会遇到52个错误,告诉我运行nuget包还原

资产文件~\obj\project.Assets.json'未找到。运行NuGet包还原以生成此文件。Nop.Web.MVC.Testsote

当我使用鼠标右键单击解决方案并选择Restore Nuget Packages时,我会收到以下消息:

所有软件包都已安装,无需恢复


但这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”不起作用,以下步骤可能会有所帮助:

  • Visual Studio>>工具>>选项>>Nuget Manager>>包源
  • 未选中任何第三方包源
  • 重建解决方案

  • 选择工具
    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存储库文件夹移动到一个新路径,但我没有更新它