我们有一个VS2008解决方案文件,其中包含大约80个项目(是的,我知道它很糟糕)。
项目被安排在各个文件夹中,并且某些项目可能取决于顶级“库”文件夹中的其他第三方DLL。
我们希望将其重构为几个较小的.sln文件,每个文件包含合理数量的项目。
问题是,在移动项目文件时,存储在其中的相对路径会中断,因此我们将不得不做很多手动的“修补程序”来修复该问题。
是否有任何工具或行之有效的技术来执行类似的操作?
最佳答案
我们做了类似的事情,并修复了引用,我们编写了一个快速实用程序,该实用程序将解析.csproj或.vbproj文件(基本上是xml文件),并根据.proj文件本身位于文件后的位置来修复受影响的路径。重构。这比手动更改项目xml或添加删除引用以避免人为错误要好。
一旦知道了proj文件的位置以及公共(public)文件(或其他文件)的位置,便可以使用相对路径修改项目文件中的Reference节点。因此,例如,您可能需要更改原始
<Reference Include="NHibernate">
<HintPath>..\..\ServicesShared\Library\NHibernate.dll</HintPath>
</Reference>
在.proj文件中
<Reference Include="NHibernate">
<HintPath>..\Common\ServicesShared\Library\NHibernate.dll</HintPath>
</Reference>
如果那是NHibernate.dll现在居住的地方。
希望这对你们有用。