Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 建筑需要很长时间。你是怎么对付的?_C#_Build Process_Development Environment_Compilation - Fatal编程技术网

C# 建筑需要很长时间。你是怎么对付的?

C# 建筑需要很长时间。你是怎么对付的?,c#,build-process,development-environment,compilation,C#,Build Process,Development Environment,Compilation,谈到编译语言(在我的例子中是c语言),我认为无论开发机器的性能如何,这个问题始终存在。构建时间可能或多或少取决于具体的环境,但通常这足以让你的注意力从任务转移到其他事情上,比如stackoverflow、youtube、twitter等,这非常烦人 由于java的动态类加载,我为java开发人员感到高兴,但是.net(和其他)开发人员可以做些什么来减少构建过程的痛苦和突兀?您问题中关于注意力偏离任务的评论提醒了我 因此,投资于固态磁盘(因为我假设您在开发和调试时谈论的是在dev box上的构建过

谈到编译语言(在我的例子中是c语言),我认为无论开发机器的性能如何,这个问题始终存在。构建时间可能或多或少取决于具体的环境,但通常这足以让你的注意力从任务转移到其他事情上,比如stackoverflow、youtube、twitter等,这非常烦人


由于java的动态类加载,我为java开发人员感到高兴,但是.net(和其他)开发人员可以做些什么来减少构建过程的痛苦和突兀?

您问题中关于注意力偏离任务的评论提醒了我

因此,投资于固态磁盘(因为我假设您在开发和调试时谈论的是在dev box上的构建过程)可能会有所帮助


此外,让你的电脑运行得更快一般不会有什么坏处,对吧?:)

我们使用多种构建配置来权衡速度和全面构建

一个完整的构建需要做一些耗时的事情,比如fxcop分析、ASP.NET编译、所有单元测试项目、实体框架视图预生成等等

一个“快速构建”通常只需要几秒钟,而这些仅仅是项目运行所需的最短时间


开发人员在整个工作流中切换到完整的构建和快速构建,根据需要,

< P>除了许多其他建议来获得更快的机器、从解决方案中删除不必要的项目等,考虑VisualStudio 2010 +多核机。VS2010在构建时可以利用您的所有核心。查看有关如何设置的更多信息。

类文件不也必须生成吗?与编译时相比,这难道不只是将工作负载置于运行时吗?这其实没什么区别,不是吗?自然地,软件越大,构建它所需的时间就越长,这取决于机器,而不是语言或框架——这是在每次运行时对强类型、解释字节码(或二进制码,取决于语言/编译器)而不是解释源代码(如php和python等)的权衡。我不认为java有多大的改进,您必须在一定的时间范围内构建应用程序

我认为,在C和C++的比较中,C和java都在编译时得到了极大的提高。 利用这段时间放松一下:

一些可以尝试的东西:

  • 对包含源代码的驱动器进行碎片整理

  • 从病毒扫描程序中排除源代码文件夹

  • 从Windows搜索索引器中排除源代码文件夹

  • 禁用未使用的任何Visual Studio扩展


  • 您是每次都在进行重建,还是所有内容都在同一个程序集中?我正在处理相当大的项目,而我的构建时间并没有那么长。我有几个程序集,每次对项目进行更改时,我只修改几个程序集

    如果您发现自己到处都在修改程序集,您可能会尝试重构代码结构。或者你没有花时间做单元测试?它们不仅可以帮助您进行测试,还可以获得更好的代码结构(设计糟糕的应用程序很难测试)


    另一种选择是使用加快构建速度的工具,例如:

    我曾参与过一些非常大型的C#项目,很少看到调试构建时间超过2分钟

    通常最浪费时间的是静态分析(例如fxcop)、单元测试、代码签名(如果使用代码签名服务)等。控制这些的最简单方法是将它们限制在发布版本中,或者对“完整版本”使用单独的版本定义,并从调试和发布版本中排除这些步骤


    如果这些不是你的问题,请像其他人所说的那样检查你的计算机性能。碎片化、磁盘构建速度慢、防病毒等。

    不要认为Java总是那么好。我在一家大型国际银行的Java商店工作,在某些情况下构建需要3个多小时。草并不总是更绿的……只要超过10秒,我就忘了当初为什么要建房子。获得更快的机器、更小的项目、更多的库等。SSD(固态磁盘)可提供高达10倍的改进,具体取决于您的项目大小。此外,如果您在这方面有所改进,CPU也不会被浪费。我知道,这是“使用更大的锤子”的方法,但它确实有效。升级后,我1)加载VS2008,2)加载项目3)及时完成重建,之前的配置能够完成步骤1和部分步骤2。实际上,我应该说是“python”。大多数情况下,我根本不需要构建任何东西——这导致我在使用其他语言时注意力持续时间较短。@Seth在这个问题的背景下,我开始学习ruby)我不知道VS2010是否利用了所有内核,但对于WPF项目,即使是相对较小的项目,在我的机器上构建速度也非常缓慢(双核3GHz和4GB RAM)。