如何卸载NuGet软件包而不删除其文件夹?

如何卸载NuGet软件包而不删除其文件夹?,nuget,Nuget,我使用文档中的repositoryPath属性值将所有包存储在D:\Dev\packages中。但是,当我从VS 2015项目卸载包时,包文件夹也会被删除。我需要保留该文件夹,因为其他解决方案中的其他项目正在使用它 自2013年以来,这种行为发生了变化。据我记忆所及,卸载过程中没有删除包文件夹。如果他们是的话,我现在肯定会注意到的 那么:如何确保在卸载软件包的过程中不会删除软件包文件夹?好的,看来我在讨论一个非问题 根据刚刚在NuGet团队中与Yishai的一封非常有用的电子邮件,我意识到,我在

我使用文档中的
repositoryPath
属性值将所有包存储在
D:\Dev\packages
中。但是,当我从VS 2015项目卸载包时,包文件夹也会被删除。我需要保留该文件夹,因为其他解决方案中的其他项目正在使用它

自2013年以来,这种行为发生了变化。据我记忆所及,卸载过程中没有删除包文件夹。如果他们是的话,我现在肯定会注意到的


那么:如何确保在卸载软件包的过程中不会删除软件包文件夹?

好的,看来我在讨论一个非问题

根据刚刚在NuGet团队中与Yishai的一封非常有用的电子邮件,我意识到,我在VS 2015中注意到这一点的可能原因很简单,因为这一次我正在观看
卸载软件包
的输出,而之前我没有看到

底线是,即使在卸载过程中删除了包,包还原也会在下次解决方案需要时将其从缓存中拉出

你可能对一个博客感兴趣,易海向我指出:

我曾短暂地考虑沿着这条路走下去,直到所有的点都连接在一起。但这是一个很好的参考,但绝对是一个方便的参考


话虽如此,我已经在上发了帖子,以防您愿意关注。

好的,看来我在讨论一个非问题

根据刚刚在NuGet团队中与Yishai的一封非常有用的电子邮件,我意识到,我在VS 2015中注意到这一点的可能原因很简单,因为这一次我正在观看
卸载软件包
的输出,而之前我没有看到

底线是,即使在卸载过程中删除了包,包还原也会在下次解决方案需要时将其从缓存中拉出

你可能对一个博客感兴趣,易海向我指出:

我曾短暂地考虑沿着这条路走下去,直到所有的点都连接在一起。但这是一个很好的参考,但绝对是一个方便的参考


总而言之,我已经在上发布了,以防您愿意关注。

是否将其检查到源代码管理中?这样一来,如果您不确定它,它就不能被删除,如果是,您可以随时恢复提交(如果它自动提交)。@GeorgeStocker:这是“变通”一词的明确定义,声明了两次;-)也许是更直接的?某个复选框选项或命令行开关?当然,我已经查看了VS Tools\Options设置,但没有显示任何内容。repositoryPath设置用于配置安装nuget软件包的路径,因此卸载软件包时,软件包文件夹也将被删除。您可以检查删除包的行为以了解详细信息:。据我所知,没有办法改变这一点。@Eddie MSFT:这是一个大问题。我能想到的解决这个问题的最简单方法是NuGet团队在
repositoryPath
旁边添加另一个设置,以便在卸载时允许包持久化(默认设置为
delete
,以实现向后兼容性)。你同意吗?@Eddie MSFT:请看下面我的答案。你可能有兴趣知道,我只需2.3秒就可以点击按钮发布悬赏,但我的眼睛看到了屏幕顶部的红色邮箱通知。那当然是你在回答我的另一个问题。所以你救了我:-)把它检查到源代码管理中?这样一来,如果您不确定它,它就不能被删除,如果是,您可以随时恢复提交(如果它自动提交)。@GeorgeStocker:这是“变通”一词的明确定义,声明了两次;-)也许是更直接的?某个复选框选项或命令行开关?当然,我已经查看了VS Tools\Options设置,但没有显示任何内容。repositoryPath设置用于配置安装nuget软件包的路径,因此卸载软件包时,软件包文件夹也将被删除。您可以检查删除包的行为以了解详细信息:。据我所知,没有办法改变这一点。@Eddie MSFT:这是一个大问题。我能想到的解决这个问题的最简单方法是NuGet团队在
repositoryPath
旁边添加另一个设置,以便在卸载时允许包持久化(默认设置为
delete
,以实现向后兼容性)。你同意吗?@Eddie MSFT:请看下面我的答案。你可能有兴趣知道,我只需2.3秒就可以点击按钮发布悬赏,但我的眼睛看到了屏幕顶部的红色邮箱通知。那当然是你在回答我的另一个问题。所以你救了我一命:-)