我们有一个VS2008解决方案文件,其中包含大约80个项目(是的,我知道它很糟糕)。
项目安排在各种文件夹中,有些可能依赖于顶级“Libs”文件夹中的其他第三方DLL。
我们想将它重构为几个较小的.sln文件,每个文件包含合理数量的项目。
问题是,当移动项目文件时,存储在其中的相对路径将会中断,因此我们将不得不进行大量手动“补丁”来修复它。
是否有任何工具或任何经过验证的技术可以做这样的事情?
答案 0 :(得分:1)
我们做了类似的事情,为了修复引用,我们编写了一个快速实用程序来解析.csproj或.vbproj文件(基本上是xml文件)并根据.proj文件本身的位置修复受影响的路径。位于重构之后。这比手动更改项目xml或添加删除引用以避免人为错误更好。
一旦知道了proj文件的位置以及公共文件(或其他文件)的位置,就可以使用相对路径修改项目文件中的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现在所在的位置。
希望这对你们有用。