【问题标题】:Is there a refactoring tool that works across solutions files?是否有适用于解决方案文件的重构工具?
【发布时间】:2010-02-11 08:50:45
【问题描述】:

我见过的所有用于 C# 和 VB.Net 的重构工具都只考虑单个 Visual Studio 解决方案中的源代码。

无论好坏,我们的大型(许多相关程序)系统分布在许多解决方案文件中,但是:

  • 所有代码都在一个 windows 文件夹下。
  • 我们基于 nAnt 的构建系统在 windows 文件夹中构建所有文件以生成单个 dll(比这个复杂一点,但对于这个问题并不重要)。
  • 因此,单个根文件夹下的所有“.cs”和“.vb”文件都是系统的一部分。

因此,我正在寻找重构和逆向工程工具,它们将单个文件夹作为输入并作用于该文件夹下的所有文件。

(这些工具可能需要一些帮助来确定“公共”和“内部”的含义,但是当“代码树”是包含代码的文件夹时,大多数时候“内部”意味着“在同一代码树中”和任何子文件夹。)


现在我很贪心,我想要工具来创建许多已经完成的重构并能够重播重构。然后我可以尝试理想,如果它们有效,则丢弃我的代码,获取最新代码,在其他人更改文件之前进行重构并签入代码。 (分支需要合并时也是如此)

【问题讨论】:

  • 我有类似的情况,一些项目在客户端和少数 WCF 服务解决方案之间共享。一种想法是创建一个主 .sln 文件,只是为了使用 resharper 进行重构。

标签: c# vb.net visual-studio refactoring


【解决方案1】:

在过去,我已经按照 Pratik 的建议将所有项目整合到一个解决方案中,只是为了重构。然后我个人每次都会使用Resharper

【讨论】:

  • 鉴于大多数 dll 是从“s 驱动器”引用的,而不是从项目引用中引用,这是否可以在不更改所有项目以直接相互引用的情况下工作? (更糟糕的是,项目不会输出到“s 驱动器”,您可以从上次官方构建中将 dll 复制到其中 - 这是用 ant 完成的,并且只有在“故事”完成时才会完成!)
  • 将通过 VB.NET 和 C# 代码的重构来重新编写代码,通常在一个“世界”中定义一个类,然后在另一个“世界”中使用。
  • 抱歉回复延迟,您现在可能已经发现了,但是,有一个 Resharper 版本将涵盖 VB.net 和 C#
猜你喜欢
  • 1970-01-01
  • 2011-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-18
  • 1970-01-01
相关资源
最近更新 更多