簡體   English   中英

NuGet 包無法在 Visual Studio 2017 中恢復

[英]NuGet packages not restore in visual studio 2017

我有Asp.netCore解決方案,它在Visual Studio 2015上運行良好,然后我搬到了Visual Studio 2017 現在的問題是,在Visual Studio 2017 ,每個 nuget 包上都有黃色感嘆號。 以下是我迄今為止嘗試過的解決方案。

我使用的是Visual Studio Version: 15.3.1

  • 以“管理員”身份運行並恢復包。
  • Tools > options > NuGet Package Manager > Clear All Nugget Cache(s)然后再次還原 Nuget。

您可以在每個 nuget 包上看到黃色標記

注意:我已經搜索並找到了以下解決方案並嘗試但沒有解決我的問題。

解決方案1

我在這里的另一個線程上找到了答案,應該歸功於@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似乎無法解決的這個噩夢問題。 我也多次遇到過這種情況 - 特別是當我在同一個解決方案目錄中混合多個項目時。

Microsoft 使用包還原文檔安裝和重新安裝包中所述,您應該Update-Package -reinstall

Update-Package -reinstall -ProjectName <project>命令其中受影響的項目在解決方案資源管理器中顯示的名稱。 Update-Package -reinstall使用Update-Package -reinstall來恢復解決方案中的所有包。

如果仍然有錯誤,請嘗試編輯您的項目文件,檢查那里是否存在路徑引用錯誤,同時檢查項目/解決方案 nuget 配置文件。

默認情況下,新安裝的visual studio沒有配置包源在線搜索包。 這導致了問題。

我從 stackoverflow 鏈接中找到了更多工作的答案: https : //stackoverflow.com/a/32360953/1503372

該答案提到使用“ https://www.nuget.org/api/v2 ” url來恢復包。 當我在 Visual Studio 2017 中打開包管理器控制台時,我發現它僅從我的 PC 中搜索包(離線搜索)。

然后我添加了“ https://www.nuget.org/api/v2 ” url 作為恢復包的來源並且它起作用了。

按照以下步驟添加包源。

  1. 右鍵單擊項目 > 管理 nuget 包,您將看到“包源標簽”。

  2. 將突出顯示的 URL 添加到包源。

  3. 選擇“全部”作為包源。

一旦你將你的 Visual Studio 配置為在線搜索包,你的所有包都將被恢復。

我在nuget.config發現了錯誤的配置。 我不知道為什么,在這個文件中有我當前項目的一些排除項。

您可以在File ExplorerFile Explorer運行此命令的全局配置

%AppData%\\NuGet\\NuGet.Config

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM