繁体   English   中英

Nuget Clean Package删除/安装

[英]Nuget Clean Package Remove/Install

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

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

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

谢谢。

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

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

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

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

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

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

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

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

Install-Package Microsoft.jQuery.Unobtrusive.Validation -Version 2.0.30506.0 -FileConflictAction Overwrite

安装包的PowerShell命令参考

NuGet版本1.6具有删除包功能! http://docs.nuget.org/docs/release-notes/nuget-1.6

如果扩展的更新失败(signatur missmatch),只需卸载并重新安装。 这是一个已知问题。

我想这发生在我身上几次。 转到应该是项目根目录的packages.config文件,并删除叛乱分子(在您的情况下,包含该行的行:SignalR)。 这将告诉NuGet从未安装过该软件包。

现在,您将能够通过存储库重新安装它,然后将其卸载,以便一切都恢复到您进入此混乱之前的状态。 我不确定它是如何发生的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM