在Visual Studio 2017中无法恢复NuGet包

Usm*_*bal 7 nuget-package nuget-package-restore visual-studio-2017

我有Asp.netCore解决方案,工作正常Visual Studio 2015,然后我搬到了Visual Studio 2017.现在问题是在Visual Studio 2017每个nuget包中都有黄色感叹号.以下是迄今为止我尝试过的解决方案.

我正在使用 Visual Studio Version: 15.3.1

  • 以"管理员"身份运行并恢复包.
  • Clear All Nugget Cache(s)来自Tools > options > NuGet Package Manager >并再次恢复Nuget.

你可以在每个nuget包上看到黄色标记

注意:我已搜索并找到以下解决方案并尝试但未解决我的问题.

解决方案1

Dav*_*del 15

我在这里找到了另一个问题的答案,并且应该归功于@AxelWass,虽然他并没有特别关注它,但它绝对解决了这个问题.上面的答案没有.


我有同样的问题,通过在文本编辑器中打开项目并删除以下部分来解决它:

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
  <PropertyGroup>
     <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
   </PropertyGroup>
   <Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
   <Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
</Target>
Run Code Online (Sandbox Code Playgroud)

一旦删除它,它将解决VS2017和PM似乎无法解决的噩梦问题.我也遇到过多次 - 特别是当我在同一个解决方案目录中混合了很多项目时.


小智 8

Microsoft使用软件包还原文档安装和重新安装软件包中所述,您应该Update-Package -reinstall

Update-Package -reinstall -ProjectName <project>命令,其中是在解决方案资源管理器中显示的受影响项目的名称。单独使用Update-Package -reinstall以还原解决方案中的所有软件包。