如何将大型VS解决方案分解为较小的解决方案



我们有一个VS2008解决方案文件,其中包含大约80个项目(是的,我知道它很糟糕)。

项目排列在不同的文件夹中,有些项目可能依赖于顶级"Libs"文件夹中的其他第三方DLL。

我们想将其重构为几个较小的.sln文件,每个文件都包含合理数量的项目。

问题是,当四处移动项目文件时,存储在其中的相对路径会中断,因此我们将不得不进行大量手动"修补"来解决这个问题。

有什么工具或任何经过验证的技术可以做这样的事情吗?

我们做了类似的事情,为了修复引用,我们编写了一个快速实用程序,可以解析.csproj或.vbproj文件(基本上是xml文件),并根据重构后.proj文件本身的位置修复受影响的路径。这比手动更改项目xml或添加删除引用以避免人为错误要好。

一旦知道proj文件在哪里以及公共文件(或其他文件)将在哪里,就可以使用相对路径修改项目文件中的"参照"节点。因此,例如,您可能必须更改原始

<Reference Include="NHibernate">
      <HintPath>....ServicesSharedLibraryNHibernate.dll</HintPath>
</Reference> 

在.proj文件中

<Reference Include="NHibernate">
      <HintPath>..CommonServicesSharedLibraryNHibernate.dll</HintPath>
</Reference> 

如果NHibernate.dll现在就住在那里的话。

希望这对你们有用。

最新更新