簡體   English   中英

如何從多個解決方案/項目中刪除 nuget 包?

[英]How do I remove a nuget package from multiple solutions/projects?

我們有數百個不同年齡的 Visual Studio 解決方案,我們有一個內部編寫的 NuGet 包,其中許多都使用。 我們希望消除此 NuGet 包並將其從這些解決方案及其項目中刪除(在 csproj 或 packages.config 中不再引用)。

通過腳本,我可以為每個分支創建一個分支,並在包刪除完成后執行拉取請求。 隨着這些 PR 獲得批准,構建/部署將以自動化方式進行。 所以,唯一的手動部分似乎是這個包卸載。

這些是框架應用程序, dotnet remove 命令不適用於這些應用程序。 nuget.exe 似乎只允許從提要中刪除,而不是解決方案/項目。 我仍在尋找,但還沒有找到其他選擇。

我寧願不必在 VS 中打開這些解決方案中的每一個來刪除這個包。 這可以輕松地在 powershell 或 c# 中編寫腳本嗎?

看起來一種可能的解決方案可能是使用 PowerShell,但是在 Visual Studio 內的包管理器控制台中。

我正在嘗試這樣的事情:

$projects = Get-ChildItem 'C:\Repos\' -File -Include *.csproj -Recurse; foreach($project in $projects) {Uninstall-Package -Id PackageThatMustDie -project $project.FullName}

暫無
暫無

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

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