的NuGet包在Visual Studio 2017年无法恢复

问题描述 投票:7回答:4

我这是工作Asp.netCore精细Visual Studio 2015解决方案,然后我搬到Visual Studio 2017。现在的问题是,在每个包的NuGet有Visual Studio 2017是黄色的感叹号。下面是解决方案,我至今尝试过。

我使用Visual Studio Version: 15.3.1

  • 运行方式“管理员”和恢复包。
  • Clear All Nugget Cache(s) Tools > options > NuGet Package Manager >和再次还原的NuGet。

You can see yellow mark on every nuget package

注:我已经搜查,发现下面的解决方案和可靠的,但并没有解决我的问题。

Solution 1

visual-studio-2017 nuget-package nuget-package-restore
4个回答
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>

一旦被删除,它会解决这个问题的噩梦是VS2017和PM似乎无法解决。我也遇到了这个多次 - 特别是当我在同一个解决方案目录中融入了许多项目。


8
投票

正如Microsoft Installing and reinstalling packages with package restore Documentation提到的,​​你应该Update-Package -reinstall

Update-Package -reinstall -ProjectName <project>命令,其中是因为它出现在Solution Explorer中受影响的项目的名称。使用Update-Package -reinstall自行恢复所有包的解决方案。


0
投票

我发现在nuget.config了错误的配置。我不知道为什么,在这个文件中有一些排斥我的当前项目。

你可以看到你的全局配置中运行File Explorer此命令

%AppData%\NuGet\NuGet.Config


0
投票

默认情况下,Visual Studio中的新安装未配置包源在网上搜索包。导致此问题。

我找到了答案与来自计算器链接一点点更多的工作:https://stackoverflow.com/a/32360953/1503372

这个问题的答案提及使用“https://www.nuget.org/api/v2”链接,以恢复包。当我在Visual Studio 2017年打开包管理器控制台,我发现它在寻找从我的电脑只(离线搜索)封装。

然后我补充说:“https://www.nuget.org/api/v2” URL作为源的恢复包和它的工作。

请按照以下步骤添加一个软件包源。

  1. Right click project > Manage nuget package and you will see "package source label".
  2. Add highlighted URL to package source.
  3. Select "All" as package source.

一旦你已经配置了Visual Studio中的在线搜索包,你的所有包将被恢复。

© www.soinside.com 2019 - 2024. All rights reserved.