【发布时间】:2010-04-04 03:23:07
【问题描述】:
我在一个类库中工作,并且还有其他与同一解决方案相关的源项目。 我有没有办法阻止 VS 重构工具遍历那些其他项目,而不将它们从解决方案中删除,但保持一切不变?
我问的原因是因为我经常知道其他项目中不存在更改的符号,并且重构需要很长时间才能查看解决方案中的所有项目。特别是如果解决方案中有一个笨拙的网站项目。
【问题讨论】:
标签: visual-studio refactoring dependencies
我在一个类库中工作,并且还有其他与同一解决方案相关的源项目。 我有没有办法阻止 VS 重构工具遍历那些其他项目,而不将它们从解决方案中删除,但保持一切不变?
我问的原因是因为我经常知道其他项目中不存在更改的符号,并且重构需要很长时间才能查看解决方案中的所有项目。特别是如果解决方案中有一个笨拙的网站项目。
【问题讨论】:
标签: visual-studio refactoring dependencies
(评论中空间不足,所以我正在写一个完整的答案......)
@Dan:我认为潜在的需求很普遍:我们希望重构(以及所有其他计算机操作)立即出现*。每当出现明显的延迟时,我们希望事情能更快,并开始寻找实现这一目标的方法。
C# 的内置重构速度缓慢的原因之一是我们故意选择正确性而不是性能。我们知道我们的一些用户会很喜欢 TDD,他们将能够检测到自动重构中的错误并从错误中恢复,但许多用户将受制于我们的实施。我们认为,如果您知道我们可能会出现重构错误,您会产生怀疑并停止使用该工具。因此,我们花时间对重构进行详细验证。 (还有其他原因,可以进行快速、可靠的重构,但交付也是一个特性。)
在这种情况下,@jdk 想告诉 Visual Studio“嘿,别担心这些其他项目,我会接受遗漏重要内容的风险”。恐怕真的没有办法做到这一点。
您没有说明您使用的是哪个版本的 Visual Studio。我很确定团队一直在不断改进工具的性能,因此您可能需要查看 VS 2010 RC (http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx) 看看情况是否有所好转。
一些第 3 方重构工具的速度更快。我没有仔细看,但我确信有些人采用简单的性能方法,在某些情况下会犯错误,而另一些则更可靠。谨慎选择。
*每当有人问我“这够快吗?”我反问“用户会注意到延迟吗?”如果是,那么他们会更快地喜欢它。任何延迟都是令人失望的,就像缺少功能或错误一样。我们的工作是决定何时进行更多更改以及何时发布。
【讨论】:
不使用默认的重构工具,不。您需要创建一个仅包含该一个项目的新解决方案(您只需直接打开 proj 文件即可),在该上下文中执行重命名,然后返回到您原来的多项目解决方案。
【讨论】: