Lad*_*nka 45 .net c# tdd build visual-studio-2010
我们的产品解决方案拥有100多个项目(500 + ksloc的生产代码).其中大多数是C#项目,但我们也很少使用C++/CLI来桥接与本机代码的通信.
重建整个解决方案需要几分钟时间.没关系.如果我想重建解决方案,我希望它真的需要一些时间.什么不好是完全重建后构建解决方案所需的时间.想象一下,我使用了完全重建,现在没有对解决方案进行任何更改,我按下Build(F6或Ctrl + Shift + B).如果没有变化,为什么需要35秒?在输出中我看到它开始"构建"每个项目 - 它不执行真正的构建,但它做了一些消耗大量时间的东西.
35秒的延迟是痛苦的屁股.是的我可以通过不使用构建解决方案来改善时间,但只能构建项目(Shift + F6).如果我在特定的测试项目上运行构建项目,我正在进行它将只需"8".它要求我在正确的项目上运行项目构建(测试项目以确保构建依赖测试的代码).至少ReSharper测试运行器正确识别只有这个单个项目必须构建并且重新运行测试通常只包含8 + s编译.我目前的编码Kata是:不要触摸Ctrl + Shift + B.
即使我没有做任何更改,测试项目构建也需要8秒.它需要8s的原因是因为它还"构建"依赖关系=在我的情况下它"构建"超过20个项目,但我只对单元测试或单个依赖进行了更改!我不希望它触及其他项目.
有没有办法简单地告诉VS只构建进行了一些更改的项目和依赖于已更改项目的项目(最好是这部分作为另一个构建选项)?我担心你会告诉我这正是VS正在做的事情,但是以MS的方式......
我想提高我的TDD经验并减少编译时间(在TDD中,编译可以每分钟发生两次).
为了让这更令人沮丧,我正在一个团队工作,大多数开发人员在加入这个项目之前曾经在这个团队工作过.所以你可以想象当他们必须使用VS而不是Java中的完全增量编译时他们会生气.我不需要增量编译类.我期待逐步编译解决方案.特别是在像VS 2010 Ultimate这样的产品中花费数千美元.
我真的不想得到如下答案:
我可以在这里阅读这些答案.那些是不可接受的解决方案 我们不会为VS做出这样的妥协付出代价.
Dmi*_*lov 13
默认情况下,当您运行单个项目时,Visual Studio将始终执行解决方案中每个项目的构建.即使该项目不依赖于解决方案中的每个其他项目.
转到工具 | 选项 | 项目和解决方案 | 构建并运行并选中" 仅在运行时构建启动项目和依赖项 " 框.从现在开始运行项目(F5键)时,Visual Studio将只构建您的启动项目以及您所依赖的解决方案中的那些项目.
有没有办法简单地告诉VS只构建进行了一些更改的项目和依赖于已更改项目的项目(最好是这部分作为另一个构建选项)?我担心你会告诉我这正是VS正在做的事情,但是以MS的方式......
不是真的(你已经明白了).
你在谈论一个"构建系统".MSVS不是那样的.它是一个IDE,它恰好允许您将资产组织成项目和解决方案,是的,"构建".但是,它不是一个构建系统.它永远不会是一个构建系统(长篇大论,但需要一种非常不同的技术).
相比之下,MSVS是用于加速迭代开发的IDE,包括"调试"循环(例如,系统运行期间debbugger中的"步入"和"步进").这就是MSVS"闪耀"的地方.
它不会,也永远不会"闪耀"为构建系统.这不是它创造的目的.并且,这可能永远不会改变(长篇大论,甚至微软也许会同意).
我不是想要变得可爱,我真诚地为传递这个消息而道歉.这个答案也伤害了我.
我期待逐步编译解决方案.特别是在像VS 2010 Ultimate这样的产品中花费数千美元.
MSVS是用于交互式调试/开发的IDE,而不是构建系统(参见上文).因此,您在产品方案中对其进行测量,而这种方案并非如此设计,并且可能无法按照您的意愿运行.
我真的不想得到如下答案:
- 制定单独的解决方案
- 卸载您不需要的项目
- 等等
我可以阅读那些答案.那些是不可接受的解决方案 我们不会为VS做出这样的妥协付出代价.
你的期望是合理的.我也想要他们.但是,MSVS不是一款能够实现这一目标的产品.
再说一遍,我不是想要"可爱".如果您愿意投资"构建系统",您可能会发现使用像CMake这样的东西来管理您的配置和导出Makefiles
(或者某些东西)以执行您的"真实"构建,但同时也"导出" *.vcproj
和*.sln
文件的价值.您希望在MSVS IDE中以迭代和交互方式进行工作.
编辑:相反,你想要的是一个SSD(固态磁盘),你的构建工作区可以获得10倍的速度提升,或者一个RAM磁盘,可以为构建提高100倍速度(不开玩笑,64MB LGA2011插槽上的RAM为您提供32MB RAM磁盘,这是我们使用的.)
归档时间: |
|
查看次数: |
13681 次 |
最近记录: |