C# NuGet-仅当其他项目不依赖依赖依赖项时卸载并删除依赖项?

C# NuGet-仅当其他项目不依赖依赖依赖项时卸载并删除依赖项?,c#,.net,visual-studio,nuget,C#,.net,Visual Studio,Nuget,我有一个NuGet包,除了依赖于其他包之外,没有任何内容。所以基本上把它看作是一个包的包。其中一个包依赖于第三方软件,该软件也被我们项目的其他部分使用 我的问题是我想卸载包中的包,为此我指定了-RemoveDependencies选项。但是,我得到一个错误,说无法卸载,因为这取决于它 只有在其他项目不依赖依赖依赖项时,才有方法卸载依赖项吗 首先需要卸载所有依赖它的NuGet软件包。然后可以删除这些依赖项 因为如果有其他依赖它的包,如果删除它,这些包将失去依赖关系,这将导致这些包无法再工作。您需要

我有一个NuGet包,除了依赖于其他包之外,没有任何内容。所以基本上把它看作是一个包的包。其中一个包依赖于第三方软件,该软件也被我们项目的其他部分使用

我的问题是我想卸载包中的包,为此我指定了-RemoveDependencies选项。但是,我得到一个错误,说无法卸载,因为这取决于它


只有在其他项目不依赖依赖依赖项时,才有方法卸载依赖项吗

首先需要卸载所有依赖它的NuGet软件包。然后可以删除这些依赖项


因为如果有其他依赖它的包,如果删除它,这些包将失去依赖关系,这将导致这些包无法再工作。

您需要先卸载所有依赖它的NuGet包。然后可以删除这些依赖项


因为如果有其他依赖它的包,如果您删除它,这些包将失去依赖性,这将导致这些包无法再工作。

我通过更改包的包范例实现了我想要的结果。我没有将其他软件包标记为依赖项,而是创建了一个工具/文件夹,并在其中放入install.ps1和uninstall.ps1 powershell脚本,该脚本在安装或卸载时运行


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

我通过改变package-of-packages范式实现了我想要的结果。我没有将其他软件包标记为依赖项,而是创建了一个工具/文件夹,并在其中放入install.ps1和uninstall.ps1 powershell脚本,该脚本在安装或卸载时运行

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

对于单个项目

Get-Packages -ProjectName <project> | Uninstall-Package -ProjectName <project>
在包管理控制台中,应该执行此操作

由于依赖关系而无法卸载的包将无法卸载,而没有依赖关系的包将成功卸载。

对于单个项目

Get-Packages -ProjectName <project> | Uninstall-Package -ProjectName <project>
在包管理控制台中,应该执行此操作


由于依赖关系而无法卸载的软件包将无法卸载,而没有依赖关系的软件包将成功卸载。

恐怕不会。你将不得不忍受它,或者把它全部搬走。恐怕不行。你将不得不忍受它,或者把它全部移除。这个问题与OP想要的正好相反。这个问题与OP想要的正好相反。