Nuget Clean Package删除/安装

And*_*son 14 visual-studio-2010 nuget

我想删除一个完整的nuget包,并再次在我的项目中干净地安装它.

遗憾的是,出于某种原因,它会跳过删除已经"修改"的文件,然后在重新安装时跳过将它们放入项目中,因为它们已经存在.

是否有任何标志我可以设置为无条件删除nuget包的每一个跟踪,或者覆盖所有现有文件?

谢谢.

Kil*_*man 11

不幸的是,目前,NuGet没有做你想做的事.在卸载过程中,NuGet将仅删除尚未修改的内容文件.正如您所注意到的,更新过程不会更新已修改的文件.

Uninstall-Package命令确实有一个-Force选项,但即使有其他依赖于这个的包也是"强制"卸载.

我们当然可以将此作为一个问题提交,并将其合并到未来的版本中.

另一种选择是创建一个枚举包内容的PowerShell脚本,然后允许您删除所有内容文件.我会看看是否有一种简单的方法可以做到这一点.

顺便说一句:也许你可以找到一种更好的方法来扩展现有的内容文件而不是直接修改它.特别是因为您在更新软件包时丢失了更改.

  • 这个答案在过去15个月内有所改变吗? (2认同)

Sim*_*ver 6

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

您需要先更新到最新的NuGet(我认为此功能是在2013年4月左右添加的).通过转到Tools > Extensions and Updates并单击Updates以更新nuget 来执行此操作.

然后该-FileConflictAction参数将允许您覆盖文件.

Install-Package Microsoft.jQuery.Unobtrusive.Validation -Version 2.0.30506.0 -FileConflictAction Overwrite
Run Code Online (Sandbox Code Playgroud)

(安装包的PowerShell命令参考)