谈到编译语言(在我的情况下是c#)我认为无论你的开发机器有多高效,问题都会一直存在。构建时间可能或多或少取决于具体的环境,但通常它足以让你的注意力从你的任务转移到像stackoverflow,youtube,twitter等其他东西,它只是非常烦人。
我很高兴Java开发人员因为Java的动态类加载,但是.net(和其他)开发人员可以做些什么来使构建过程不那么痛苦和突兀?
答案 0 :(得分:8)
我们使用多种构建配置来在速度和全面构建之间进行权衡。
完整构建会执行诸如FX警察分析,ASP.NET编译,所有单元测试项目,实体框架视图预生成等耗时的事情。
“快速构建”通常只需几秒钟,这是使项目运行所需的最低限度。
开发人员根据需要在整个工作流程之间切换完整版本和快速版本。
答案 1 :(得分:4)
是否还必须构建类文件?与编译时相比,这不就是将工作负载放到运行时吗?这不是真正的区别不是吗?更大的软件增长,自然,构建它需要的时间越长,取决于机器而不是语言或框架 - 这是强类型,解释字节代码(或取决于语言/编译器的二进制代码)之类的权衡)而不是每次运行时解释的源代码(就像你有php和python等)。我认为java不会改进很多东西,你需要有一段时间来构建你的应用程序。
我认为在与C和C ++的比较中,C#和java在编译时都有很大的改进。
只是利用时间来懈怠:
答案 2 :(得分:3)
有些事情要尝试:
对包含源代码的驱动器进行碎片整理
从病毒扫描程序中排除源代码文件夹
从Windows搜索索引器中排除源代码文件夹
禁用您未使用的任何Visual Studio扩展程序
答案 3 :(得分:1)
关于一个人的注意力偏离任务的问题中的评论让我想起了this Joel on Software post.
因此,投资固态磁盘(因为我假设您在开发和调试时正在讨论开发盒上的构建过程)可能有所帮助。
此外,让你的电脑更快一般不会受伤,对吗? :)
答案 4 :(得分:1)
除了许多其他建议,以获得更快的机器,从您的解决方案中删除不必要的项目等,请考虑Visual Studio 2010 +多核机器。在进行构建时,VS2010可以利用所有核心。查看this thread了解有关如何进行设置的更多信息。
答案 5 :(得分:1)
您是在每次都进行重建还是在同一个程序集中拥有所有内容?我正在处理相当大的项目,我的构建时间并不高。我有几个程序集,每次修改项目时我只会修改一些程序集。
如果您发现自己在整个地方修改程序集,则可能会尝试重构代码结构。或许你还没有花时间做单元测试?它们不仅可以帮助您进行测试,还可以获得更好的代码结构(很难通过糟糕的设计测试应用程序)。
另一种方法是使用加速构建的工具,例如:http://www.xoreax.com/
答案 6 :(得分:1)
我参与了一些非常大的C#项目,并且很少看到Debug构建时间超过2分钟。
通常糟糕的时间是静态分析(例如fxcop),单元测试,代码签名(如果使用代码签名服务)等等。控制这些内容的最简单方法是将它们限制为Release版本或为“完全构建”创建单独的构建定义,并从调试和发布构建中排除这些步骤。
如果这些不是您的问题,请查看您的计算机性能,正如其他人所说的那样。碎片,慢速构建磁盘,防病毒等