我想删除整个nuget包,然后干净利落地将其重新安装到我的项目中。
可悲的是,由于某些原因,它跳过删除已“修改”的文件,然后跳过在重新安装时将它们放入项目中,因为它们已经存在。
有没有什么标志可以设置为无条件地删除nuget包的每一个跟踪,或者覆盖所有现有的文件?
谢谢。
发布于 2011-06-21 23:57:37
不幸的是,目前NuGet并没有做你想做的事情。在卸载过程中,NuGet将仅删除未经修改的内容文件。正如您已经注意到的,更新过程也不会更新修改过的文件。
Uninstall-Package命令确实有一个-Force选项,但这是为了“强制”卸载,即使有其他包依赖于此。
我们当然可以将其作为一个问题提交,也许可以将其合并到未来的版本中。
另一种选择是创建一个PowerShell脚本,它将枚举包的内容,然后允许您删除所有内容文件。我会看看有没有简单的方法可以做到这一点。
顺便说一句,也许您可以找到一种更好的方法来扩展现有的内容文件,而不是直接修改它。尤其是在更新包时,您会丢失您的更改。
发布于 2013-07-01 16:31:25
你现在可以做你想做的事了!(最后)
你需要首先更新到最新的NuGet (我想这个功能是在2013年4月左右添加的)。要做到这一点,请转到Tools > Extensions and Updates
并单击Updates
更新nuget。
然后,-FileConflictAction
参数将允许您覆盖文件。
Install-Package Microsoft.jQuery.Unobtrusive.Validation -Version 2.0.30506.0 -FileConflictAction Overwrite
发布于 2011-12-13 18:15:00
NuGet 1.6版具有删除软件包功能!http://docs.nuget.org/docs/release-notes/nuget-1.6
如果扩展更新失败(签名不匹配),只需卸载并重新安装即可。这是一个已知的问题。
https://stackoverflow.com/questions/6421113
复制相似问题