簡體   English   中英

在VS2015中還原Nuget包命令,僅還原XML,而不還原DLL

[英]Restore Nuget Packages command in VS2015, restoring only XMLs not the DLLs

我用Visual Studio 2015買了一台新筆記本電腦。我有一個現有的VS解決方案,在我以前的筆記本電腦中效果很好。

在我的新筆記本電腦中,我遇到了Nuget恢復問題,它只恢復XML文件,而不恢復大多數程序集的DLL。 請檢查我執行的以下步驟。

在“ Nuget軟件包管理器->常規”中,我檢查/啟用了以下選項。

  1. 允許Nuget下載丟失的軟件包
  2. 自動檢查列表項是否缺少包裹

執行的步驟:

  1. 我已經從Source控件下載了解決方案,其中的Package文件夾為空

  2. 我右鍵單擊解決方案,然后選擇“ Restore Nuget Package”

  3. 它創建了Package文件夾和所有與程序集相關的子文件夾
  4. 但是,當我進入某些文件夾時,例如Newtonsoft.Json.8.0.1文件夾,它包含一個名為lib \\ net45的子文件夾,其中只有Newtonsoft.Json.xml,沒有DLL。
  5. 子文件夾中缺少Newtonsoft.Json.dll
  6. 子文件夾中缺少大多數DLL,並且該子文件夾中只有XML文件

請讓我知道如何解決它。

請讓我知道如何解決它。

首先關閉Visual Studio的所有實例 在VS之外執行任何會影響VS認為正在發生的事情時,通常這是一個好主意。

然后嘗試清除本地程序包緩存nuget.exe locals all -clear

您可以按照以下步驟清除本地軟件包:

首先,從此處下載nuget命令行工具。

接下來,打開命令提示符,並cd到nuget.exe的下載目錄。

您可以使用以下命令列出本地緩存:

nuget locals all -list

您可以使用以下命令清除所有緩存:

nuget locals all -clear

此外,嘗試僅通過nuget.org制作可用的軟件包源 (工具->選項-> NuGet軟件包管理器->軟件包源)

NuGet似乎在還原但未下載DLL時遇到類似的問題

原來不是NuGet,而是我進行版本控制設置的方式。 我忘記將NuGet package目錄添加到VCS的忽略列表中。 在這種情況下,Mercurial會上載packages文件夾,但默認情況下會忽略DLL。 當另一台計算機構建該項目時,NuGet假定這些軟件包已經丟失了,因為文件夾在那里,軟件包已經被下載了。

刪除程序包文件夾並讓NuGet將其放下可解決此問題,盡管下一次我將確保在設置項目時將程序包文件夾放在忽略列表中。

暫無
暫無

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

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