[英]nuget doesn't recognize installed packages
我在 Git 上有一個使用 NuGet 庫的 C# 項目。 一切正常,但當我打開一台新機器並在 Visual Studio 中打開解決方案時,由於引用損壞,它無法編譯。 如果我單擊項目下的引用,我可以看到帶有黃色感嘆號的經典警告標志。
Nuget restore 不會做任何事情(而且我仍然沒有發現這個功能的任何用途......),文件 repositories.config 很好。 如果我右鍵單擊解決方案,然后“管理解決方案的 NuGet 包”,則不會顯示已安裝的包。
直到今天,我都是這樣解決的:運行
Install-Package package_name
它說:
'package_name' already installed.
My_project already has a reference to 'package_name'.
...然后它會顯示管理器上的包,這些包已經分配給了正確的項目。
任何地方的代碼都沒有改變,我可以看到,因為 Git 上沒有差異。
我只需要在新機器上做一次,但這真的很煩人。 任何的想法?
NuGet 版本:2.8.60318.667
更新27/07
我在另一台裝有 Windows 10 的 PC 上從頭開始嘗試該過程,一切正常...相同版本的 Visual Studio、NuGet 等...我感到困惑
這可能是因為your.csproj 中的.dll 路徑不正確。 包還原將包下載到本地目錄。 它不會更改程序集在.csproj 中的引用路徑,這意味着該項目仍將嘗試在本地目錄中定位dll。 黃色標記表示項目無法找到程序集。
卸載項目,右鍵單擊項目並選擇“Edit.csproj”,並驗證丟失的 dll 的路徑。 例如 - 如果你有 NUnit,
<Reference Include="nunit.framework">
<HintPath>..\packages\NUnit.3.6.1\lib\net45\nunit.framework.dll</HintPath>
</Reference>
驗證 dll 是否存在於“\packages\NUnit.3.6.1\lib\net45”目錄中。
從我的腦海中我可以想到軟件包沒有被下載的幾個原因,理想情況下你必須分享更多的細節。
首先,install-package 命令將不起作用。 您的軟件包已經安裝 VS 只是無法下載它們,因此您收到該錯誤是有道理的。
您可以打開包管理器控制台並鍵入:
Update-Package -reinstall
要么
Update-Package -reinstall -Project YourProjectName
僅供參考,Microsoft 提供了全面的文檔 - https://learn.microsoft.com/en-us/nuget/consume-packages/package-restore - 關於恢復 nuget 包的多種方法
嘗試從下面的 nuget 緩存文件夾中刪除你的包,以便 NUGET 被迫從源代碼下載
C:\Users\<<你的用戶名>>\.nuget\packages
我今天遇到了這個問題,升級到最新版本的 VS 2017 (15.8.7) 根本沒有幫助。
檢查您的 packages.config 文件以查看您的 packages 標簽是否如下所示:
<packages xmlns="urn:packages">
如果是這樣,請刪除 xmlns 屬性,這樣它就是:
<packages>
那為我修好了!
我已經解決了這個問題。 按照這個步驟
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.