![](/img/trans.png)
[英]Visual Studio 2017 failing to install nuget package in .NET 4.7 project
[英]Visual Studio 2017 Nuget Install Package Builds Project Instead of Installing / Uninstalling Packages
將現有庫項目導入現有解決方案時(在我從其他地方將它們復制到本地之后),當我嘗試通過包管理器安裝或卸載 Nuget 包時,它只是構建我的解決方案,顯示我遇到的所有錯誤,因為未安裝包。 它不會嘗試安裝或卸載軟件包。 為什么要構建我的項目而不是安裝/卸載血腥包?
為什么要構建我的項目而不是安裝/卸載血腥包?
這不是 VS IDE 本身的默認行為。
對於 VS2017,如果我們使用Package Manager UI安裝一個普通包,VS 會檢查要消費的包與當前項目的兼容性。 如果它們兼容,則該軟件包將成功安裝,否則,VS 將在ErrorList window
拋出NU1202
或其他類似的NU1202
錯誤。
但我確定對於 VS2017,安裝/卸載不會調用構建。
問題的可能原因及相應建議:
1.此行為由一個第三方擴展引起。
Reset all VS settings => disable all the third-party extensions => restart VS
以檢查問題是否仍然存在。 如果在檢查后發現此問題是由一個擴展引起的,則需要確定該擴展是否提供打開/關閉自動構建的選項。 或者您可能需要暫時禁用/卸載擴展並聯系擴展的作者以發布問題。
您可能會從這個類似的問題中獲得更多有關故障排除的詳細信息。
2.來自一個特定 nuget 包的自定義腳本(.ps1,.targets) 導致了這一點。
作者可以在生成包時將powershell腳本和PackageID.targets放在.nupkg中。 其中一些腳本將在我們安裝包時執行,其他腳本將在我們卸載包時執行。 在這里看到類似的問題。
您可以在TestProject
解決方案中創建一個新的簡單控制台項目TestProject
。 然后right-click solution=>add=>Existing project
以導入新的外部項目。 現在讓我們安裝Newtonsoft.Json
包來檢查問題是否消失。 如果問題在Newtonsoft.Json
包的新項目中消失。 我認為這表明您嘗試安裝/卸載的一個特殊軟件包可能會導致問題。
希望以上所有內容對您有所幫助,如果有任何更新,請隨時告訴我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.