簡體   English   中英

Nuget Clean Package刪除/安裝

[英]Nuget Clean Package Remove/Install

我想刪除一個完整的nuget包,並再次在我的項目中干凈地安裝它。

遺憾的是,出於某種原因,它會跳過刪除已經“修改”的文件,然后在重新安裝時跳過將它們放入項目中,因為它們已經存在。

是否有任何標志我可以設置無條件刪除nuget包的每一個跟蹤,或者覆蓋所有現有文件?

謝謝。

不幸的是,目前,NuGet沒有做你想做的事。 在卸載過程中,NuGet將僅刪除尚未修改的內容文件。 正如您所注意到的,更新過程不會更新已修改的文件。

Uninstall-Package命令確實有一個-Force選項,但即使有其他依賴於這個的包也是“強制”卸載。

我們當然可以將此作為一個問題提交,並將其合並到未來的版本中。

另一種選擇是創建一個枚舉包內容的PowerShell腳本,然后允許您刪除所有內容文件。 我會看看是否有一種簡單的方法可以做到這一點。

順便說一句:也許您可以找出一種更好的方法來擴展現有的內容文件而不是直接修改它。 特別是因為您在更新軟件包時丟失了更改。

你現在可以做你想做的! (最后)

您需要先更新到最新的NuGet(我認為此功能是在2013年4月左右添加的)。 通過轉到“ Tools > Extensions and Updates並單擊“ Updates以更新nuget來執行此操作。

然后-FileConflictAction參數將允許您覆蓋文件。

Install-Package Microsoft.jQuery.Unobtrusive.Validation -Version 2.0.30506.0 -FileConflictAction Overwrite

安裝包的PowerShell命令參考

NuGet版本1.6具有刪除包功能! http://docs.nuget.org/docs/release-notes/nuget-1.6

如果擴展的更新失敗(signatur missmatch),只需卸載並重新安裝。 這是一個已知問題。

我想這發生在我身上幾次。 轉到應該是項目根目錄的packages.config文件,並刪除叛亂分子(在您的情況下,包含該行的行:SignalR)。 這將告訴NuGet從未安裝過該軟件包。

現在,您將能夠通過存儲庫重新安裝它,然后將其卸載,以便一切都恢復到您進入此混亂之前的狀態。 我不確定它是如何發生的。

暫無
暫無

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

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