C# 建筑需要很长时间。你是怎么对付的?
谈到编译语言(在我的例子中是c语言),我认为无论开发机器的性能如何,这个问题始终存在。构建时间可能或多或少取决于具体的环境,但通常这足以让你的注意力从任务转移到其他事情上,比如stackoverflow、youtube、twitter等,这非常烦人C# 建筑需要很长时间。你是怎么对付的?,c#,build-process,development-environment,compilation,C#,Build Process,Development Environment,Compilation,谈到编译语言(在我的例子中是c语言),我认为无论开发机器的性能如何,这个问题始终存在。构建时间可能或多或少取决于具体的环境,但通常这足以让你的注意力从任务转移到其他事情上,比如stackoverflow、youtube、twitter等,这非常烦人 由于java的动态类加载,我为java开发人员感到高兴,但是.net(和其他)开发人员可以做些什么来减少构建过程的痛苦和突兀?您问题中关于注意力偏离任务的评论提醒了我 因此,投资于固态磁盘(因为我假设您在开发和调试时谈论的是在dev box上的构建过
由于java的动态类加载,我为java开发人员感到高兴,但是.net(和其他)开发人员可以做些什么来减少构建过程的痛苦和突兀?您问题中关于注意力偏离任务的评论提醒了我 因此,投资于固态磁盘(因为我假设您在开发和调试时谈论的是在dev box上的构建过程)可能会有所帮助
此外,让你的电脑运行得更快一般不会有什么坏处,对吧?:) 我们使用多种构建配置来权衡速度和全面构建 一个完整的构建需要做一些耗时的事情,比如fxcop分析、ASP.NET编译、所有单元测试项目、实体框架视图预生成等等 一个“快速构建”通常只需要几秒钟,而这些仅仅是项目运行所需的最短时间
开发人员在整个工作流中切换到完整的构建和快速构建,根据需要,
< P>除了许多其他建议来获得更快的机器、从解决方案中删除不必要的项目等,考虑VisualStudio 2010 +多核机。VS2010在构建时可以利用您的所有核心。查看有关如何设置的更多信息。类文件不也必须生成吗?与编译时相比,这难道不只是将工作负载置于运行时吗?这其实没什么区别,不是吗?自然地,软件越大,构建它所需的时间就越长,这取决于机器,而不是语言或框架——这是在每次运行时对强类型、解释字节码(或二进制码,取决于语言/编译器)而不是解释源代码(如php和python等)的权衡。我不认为java有多大的改进,您必须在一定的时间范围内构建应用程序 我认为,在C和C++的比较中,C和java都在编译时得到了极大的提高。 利用这段时间放松一下: 一些可以尝试的东西:您是每次都在进行重建,还是所有内容都在同一个程序集中?我正在处理相当大的项目,而我的构建时间并没有那么长。我有几个程序集,每次对项目进行更改时,我只修改几个程序集 如果您发现自己到处都在修改程序集,您可能会尝试重构代码结构。或者你没有花时间做单元测试?它们不仅可以帮助您进行测试,还可以获得更好的代码结构(设计糟糕的应用程序很难测试)
另一种选择是使用加快构建速度的工具,例如:我曾参与过一些非常大型的C#项目,很少看到调试构建时间超过2分钟 通常最浪费时间的是静态分析(例如fxcop)、单元测试、代码签名(如果使用代码签名服务)等。控制这些的最简单方法是将它们限制在发布版本中,或者对“完整版本”使用单独的版本定义,并从调试和发布版本中排除这些步骤
如果这些不是你的问题,请像其他人所说的那样检查你的计算机性能。碎片化、磁盘构建速度慢、防病毒等。不要认为Java总是那么好。我在一家大型国际银行的Java商店工作,在某些情况下构建需要3个多小时。草并不总是更绿的……只要超过10秒,我就忘了当初为什么要建房子。获得更快的机器、更小的项目、更多的库等。SSD(固态磁盘)可提供高达10倍的改进,具体取决于您的项目大小。此外,如果您在这方面有所改进,CPU也不会被浪费。我知道,这是“使用更大的锤子”的方法,但它确实有效。升级后,我1)加载VS2008,2)加载项目3)及时完成重建,之前的配置能够完成步骤1和部分步骤2。实际上,我应该说是“python”。大多数情况下,我根本不需要构建任何东西——这导致我在使用其他语言时注意力持续时间较短。@Seth在这个问题的背景下,我开始学习ruby)我不知道VS2010是否利用了所有内核,但对于WPF项目,即使是相对较小的项目,在我的机器上构建速度也非常缓慢(双核3GHz和4GB RAM)。