[英]Visual Studio insists I add a reference to an old version of an already-installed NuGet package
[英]Unable to add reference to installed NuGet package?
我創建了一個 NuGet 包,並且能夠在另一個 .NET 解決方案中成功安裝它。 但我無法從其他 .NET 解決方案中添加對 NuGet 包的引用。
例如,NuGet 包有一個類,其命名空間類似於MyCorp.SecurityApi
。 我目前無法在其他 .NET 解決方案中為該命名空間添加 using 指令。 例如, using MyCorp.SecurityApi
指令返回此編譯錯誤:
找不到類型或命名空間“MyCorp”
知道問題可能是什么或如何調試嗎?
確保在解決方案資源管理器中使用“參考”仔細檢查“命名空間”名稱,無論它是否存在。 如果沒有,您應該考慮重新安裝。 在 Nuget 包管理器控制台中使用以下命令:
Update-Package -Id <package_name> –reinstall
或者這將重新安裝限制為僅特定項目:
Update-Package <package_name> -ProjectName MyProject -reinstall
如果您仍然無法做到這一點,請嘗試將相關的 .dll 手動添加到您的項目中,看看它是否可以正常工作。 如果確實如此,則問題很可能出在該 nuget 包的配置上,在這種情況下,我建議您閱讀這些文檔並縮小問題的范圍。
我會首先嘗試做一個
Update-Package -Id <package_name> –reinstall
如 Mikaal 的回答中所述。
但在某些情況下,這也可能會失敗,因為packages
文件夾已損壞。 根據平台的不同,它位於不同的路徑中:
在.NET 中,可以在項目目錄中找到此文件夾(通常,在解決方案文件*.sln
所在的文件夾中)。
在.NET Core 中,您可以通過將以下行粘貼到文件資源管理器的路徑中來找到它(通過WIN + E打開它,然后將上面的行粘貼到路徑文本框中):
%appdata%\\..\\..\\.nuget\\packages\\
在那里,嘗試找到包並刪除文件夾及其內容。 如果轉到 Visual Studio 中的依賴項,包,右鍵單擊包並從屬性窗口復制路徑,也可以找到路徑。 請注意,您可能需要在刪除之前關閉 Visual Studio,因為文件可能已被鎖定。
重要提示:驗證它在 Visual Studio(依賴項)中不再被引用。 如果是,請刪除所有依賴項。
最后,打開包管理器並添加包(即右鍵單擊項目,選擇“管理 NUGET 包...”,切換到瀏覽選項卡,選擇包並單擊安裝)。
問題可能是由於:
建議您檢查上述原因,希望對您有所幫助
這是我創建的第一個 NuGet 包。 我想出了這個問題,我正在為其他 NuGet 新手發布這個。 在“NuGet 包資源管理器”中:
安裝后,我的 NuGet 包現在顯示在項目引用中。 這里有沒有其他人有任何其他提示來優化這個過程?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.