我可以阻止Visual Studio在当前项目之外进行重构吗?

时间:2010-04-02 20:57:41

标签: visual-studio refactoring dependencies

我正在使用类库,还有其他源项目与同一解决方案相关联。 有没有办法阻止VS重构工具遍历其他项目,而不是从解决方案中删除它们,但保持一切相同?

我问的原因是因为我经常知道其他项目中不存在已更改的符号,并且重构需要花费很长时间查看解决方案中的所有项目。特别是如果解决方案中有一个笨重的网站项目。

2 个答案:

答案 0 :(得分:0)

不使用默认的重构工具,没有。您需要创建一个仅包含该项目的新解决方案(您只需直接打开proj文件即可),在该上下文中执行重命名,然后返回到原始的多项目解决方案。

答案 1 :(得分:0)

(在评论中超出了空间,所以我正在写一个完整的答案......)

@Dan:我认为潜在的需求非常普遍:我们希望重构(以及其他所有计算机操作)显得即时*。每当这是明显的延迟时,我们希望事情变得更快,我们开始寻找实现这一目标的方法。

C#的内置重构速度慢的一个原因是我们故意选择正确性而不是性能。我们知道我们的一些用户会对TDD很重视,并且他们能够在自动重构中检测并从错误中恢复,但是许多用户将受我们实施的支配。我们认为,如果您知道我们可能会出现重构错误,那么您就会产生怀疑并停止使用该工具。因此,我们花时间对重构进行详细验证。 (还有其他原因,可以进行快速,可靠的重构,但也是一种功能。)

在这种情况下,@ jdk想告诉Visual Studio“嘿,不要担心这些其他项目,我会接受丢失重要事情的风险”。我担心,实际上没有办法做到这一点。

您没有说明您使用的是哪个版本的Visual Studio。我非常确定该团队一直在不断提高工具的性能,因此您可能需要查看VS 2010 RC(http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx),看看情况是否更好。

有些第三方重构工具更快。我没有密切关注,但我确信有些人采用简单的方法来表现,在某些情况下会犯错,而其他人更可靠。请仔细选择。

*每当有人问我“这个足够快吗?”我回答说“用户会注意到延迟吗?”如果是,那么他们希望它更快。任何延迟都是令人失望的,就像丢失的功能或错误一样。我们的工作是决定何时进行更多更改以及何时发货。