2012-03-05 40 views
2

我在我公司的大型解决方案做TDD的发展,我们使用Visual Studio 2010,我有很长的编译时间的问题,因为它每次我只在一个文件中的小变化时间汇编的整体解决方案,它编译很多时候会让我失望。如何自动编译在VS2010中构建解决方案时已更改的项目?

有没有办法告诉VS2010只编译已更改的项目或一些其他的解决我的问题,我们必须解决内部的20个项目中,我经常触摸它们的2-3时,我的代码。

谢谢。

+0

我认为,构建/避免在决定由每个项目类型实现。一些项目类型(例如bog标准C#和VB.Net项目)已经做了你所要求的(只要你停留在VS的单个实例中,而不是关闭和重新打开)。其他项目(例如VS安装程序项目)将始终重建,并且根据我的意识,无法更改此项目。 – 2012-03-05 07:57:44

回答

0

退房NCrunch。 NCrunch不断检查你输入的代码,并让你知道每一行代码是否至少覆盖了一次测试,以及覆盖它的测试是否通过。 NCrunch会在您做出修改后,对受您的更改影响的代码进行后台编译。

这是没有你需要停下来,手工编译(甚至保存!)你的代码来完成。只需编写测试代码,然后编写您的生产代码,并且您将立即或几乎如此(取决于测试的速度和隔离)如何进行。

1

我不知道如果你能告诉VS2010每个文件建立每次但我认为下面一些可能的解决方案,使得小的修改后

  1. 当你建立你的解决方案如果你不想每次构建整个项目的过程,那么你可以选择Build选项而不是Rebuild。 Build会检查一个项目是否是最新的,如果不是,那么它会编译。

  2. 您可以将您的项目模块化并将它们构建为dll,这样您在项目中添加了对dll的引用后,就不必每次都编译它们了。

第一个选项与vs2010一起构建,因此您不必做太多,但第二个选项是最有效的选项。我不确定我是否完全回答你,但是让我知道这不是你正在寻找的东西。

+0

@大卫MZ:另外,如果你不能改变项目结构由Ajai在步骤2中提到,你是相当肯定,你要修改一些项目只有你可以尝试:建立> Confuguration管理器... >并取消选中那些你不想构建的项目。但请记住,一旦完成更改,请检查所有项目以避免更多错误。 – 2012-03-05 08:57:06

+0

@David MZ:哇..这绝对可以工作。唯一的一点是你应该对你修改的地方有一个完美的理解。 – Ajai 2012-03-05 09:09:36

+0

只需记住在登记前重新启用跳过的项目。对其他人来说,这可能是一个巨大的时间浪费。 – Gishu 2012-03-06 08:29:14

相关问题