2016-08-22 41 views
1

我有一个NuGet包,其中没有任何东西,除了依赖于其他包。所以基本上认为它是“一揽子包裹”。其中一个软件包依赖于我们项目其他部分也使用的第三方软件。NuGet - 只有在其他项目不依赖它们的情况下才会卸载并删除依赖项?

我的问题是,我想卸载软件包的包,并做到这一点,我指定-RemoveDependencies选项。不过,我得到一个错误说“无法卸载<third-party package>因为<another package we use>依赖于它。

有没有办法卸载依赖关系只有在其他项目不依赖于它?

+2

不怕。你将不得不忍受它或全部删除。 – Oluwafemi

回答

0

我实现了我想要的结果通过改变“软件包”范例。我不是将其他软件包标记为依赖项,而是创建了一个tools/文件夹,并在其中放置了install.ps1和uninstall.ps1 powershell脚本,该脚本在安装或卸载时运行。 Read more here.

在这些脚本中,我只是发出命令来安装或卸载我选择的软件包。默认情况下,Uninstall-Package不会删除依赖项,这使我的工作更容易。它并没有达到我的最初目标,即只删除项目其他部分不需要的依赖关系,它只是保留了任何二阶依赖关系。这对我来说不是问题,因为我的包中只有一个具有二阶依赖关系。

-1

您需要卸载所有的Nu​​Get然后你可以删除这些依赖关系

因为如果有其他软件包依赖于它,如果你删除它,软件包将失去依赖关系,这将导致这个软件包不能再工作了

+0

这与OP想要的是相反的问题。 – Aron

相关问题