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

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

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

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

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


当前回答

当我得到这个错误时,对我有用的是添加一个全局变量。json文件,但这可能与使用Paket而不是Nuget有关。

其他回答

For me it turned out to be a nuget source credentials problem. I had recently changed my password for accessing a nexus server and visual studio was still using the old password when trying to access a nuget on that server through the windows credential manager. To fix it, I had to delete the entry for those outdated credentials in the credential manager and after, when I did a nuget restore, it prompted me for a password letting me enter the new password, which got saved in the credential manager again. You can access the credential manager from the cmd line using CmdKey.exe.

这招对我很管用: 增加了这个包的来源: 微软和。net https://www.nuget.org/api/v2/curated-feeds/microsoftdotnet/ 然后在控制台中运行“dotnet restore”

对我来说,我把NuGet.exe从3.4升级到4.9,因为3.4不理解如何恢复。net Core的包。

有关详细信息,请参见teamcity的dotnet恢复与nuget恢复

在我的例子中,我在*中添加了以下内容。在“Clean”上完全删除obj和bin文件夹。显然,它就是罪魁祸首。摆脱了那个和中提琴,一切又开始运转了。现在我正在使用“清洁垃圾箱”扩展代替。希望这可以帮助任何遇到这个问题的人,上面提到的修复都不起作用。

<Target Name="SuperClean" AfterTargets="Clean">
    <!-- Remove obj folder -->
    <RemoveDir Directories="$(BaseIntermediateOutputPath)" />
    <!-- Remove bin folder -->
    <RemoveDir Directories="$(BaseOutputPath)" />
</Target>    

我也遇到过类似的问题。原来我没有访问%APPDATA%\Local\Temp\NuGetScratch\lock

一旦我有访问,我可以运行nuget恢复,但一切都开始工作。