想象一下,你有一个包MyPackage
,它依赖于另一个名为Library
. 在项目MyPackage
中的类中具有扩展方法。LibraryClass
Library
在某些时候Library
被更改并被LibraryClass
重命名NewLibraryClass
或完全删除。您在项目中进行更改,例如将扩展方法移动到NewLibraryClass
或以不同的方式解决它,这并不重要。
当有人已经安装了预Library
更改版本MyPackage
并对其进行更新时,就会出现问题。然后Library
首先加载包,因为您的项目依赖于它。正在Library
加载时LibraryClass
被删除,因此MyPackage
存在的扩展方法LibraryClass
被删除。这标记MyPackage
为脏,因此当它最终将更改加载到 时MyPackage
,即使没有真正的冲突,也会要求用户解决合并。
如何解决?因为最终你的代码是好的,但是更新你的项目的用户将面临奇怪的合并问题。