Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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
Visual studio 对于大型项目,使用还是不使用Resharper?_Visual Studio_Resharper - Fatal编程技术网

Visual studio 对于大型项目,使用还是不使用Resharper?

Visual studio 对于大型项目,使用还是不使用Resharper?,visual-studio,resharper,Visual Studio,Resharper,我刚刚问过我的经理为什么我们公司不使用Resharper,他非常友好地告诉我,我们的项目如此庞大,以至于不能使用Resharper,因为它会让我们的计算机慢到无法使用的地步 我仍然在从TFS获取源代码,这似乎需要2个多小时(啊),每个解决方案应该包含大约30个项目,每个项目包含50-100个.cs文件。我们的机器运行在Q6700/4GB RAM和Windows 7 x64 Enterprise(VS/TFS 2010)上 我会亲自尝试,但我想问问Resharper(最新版本)是否适合大型项目。在

我刚刚问过我的经理为什么我们公司不使用Resharper,他非常友好地告诉我,我们的项目如此庞大,以至于不能使用Resharper,因为它会让我们的计算机慢到无法使用的地步

我仍然在从TFS获取源代码,这似乎需要2个多小时(啊),每个解决方案应该包含大约30个项目,每个项目包含50-100个.cs文件。我们的机器运行在Q6700/4GB RAM和Windows 7 x64 Enterprise(VS/TFS 2010)上

我会亲自尝试,但我想问问Resharper(最新版本)是否适合大型项目。在我的情况下,配置/调整VS/Resharper以获得可接受的性能是否需要更改?你面对过同样的事情吗


非常感谢

很难给你一个确切的答案。在过去的一些长时间的编码会话之后,我遇到了Resharper的性能(内存)问题。重新启动VisualStudio通常可以解决此问题。我的项目可能不是很大,所以你可能比我更快地遇到这个问题

然而,我认为使用ReSharper在生产率方面获得的好处大大弥补了性能损失


如果我是你的经理,我宁愿在额外的硬件和内存上多花一点钱,也不愿在效率低下的程序员身上多花一点钱。

最新版本在一定程度上专注于提高性能、减少内存占用和优化更大的解决方案。虽然你的情况相当极端,但在我看来,你仍然可以从生产力的提高中获益。只需小心打开庞大的代码文件,并关闭“解决方案范围的分析”。=)

无论如何都要使用Resharper。通过它,您的生产力得到了极大的提高,您可以承受微不足道的性能下降。对于非常大的类(500行以上),它变得有点迟钝,但是这些天谁有头脑创建了这种怪物类呢?:-)

我不知道为什么,但我一直觉得Resharper占用大量CPU和内存(我有Intel Core 2 Duo P9700、4GB ram和SSD驱动器)。我甚至尝试了最新的EAP6.0,在2000行文件上(作为唯一一个打开的文件),它占用了97%的cpu(VS是,但没有它就没有问题)。解决方案范围检查已关闭。这对我来说是在扼杀生产力,因为我打字速度不够快,这让我更专注于重竖琴,而不是实际的编码。整个项目有120-160k条生产线,所以这可能是问题所在,因为在较小的项目中,Resharper的工作非常出色

我曾经在一个解决方案中有180个项目的项目上工作,VS 2008,R#4,只有2Gb的RAM。 诀窍是从内存中卸载项目(在解决方案资源管理器中的项目上,然后卸载)。我主要负责5个项目,只有R#处理过。 如果必须获取已卸载项目的更新版本,则使用源代码管理客户端(例如,源代码安全客户端),然后在命令行控制台中运行msbuild.exe mysolution.sln。这将在没有完整开发环境的后台过程中重新编译整个解决方案。

几个R#性能提示:

  • 关闭解决方案范围的分析并仅在需要时运行它:
    Resharper
    ->
    选项
    ->untick
    分析整个解决方案中的错误
    以及这里的更多错误

  • 在VS中,卸载您确信不会触碰的项目,或者更好的是,有多个解决方案,只加载您需要的项目。例如:All.slnWebOnly.slnApiOnly.sln(要有创意)

注1:自从您提出这个问题以来,硬件行业取得了显著进步。我正在使用PCI-e SSD在Macbook Pro上打开一个包含72个项目、51000多个文件的解决方案,只需10-15秒。编译时间大约是20-30秒,所以我想到目前为止没有问题


注2:2015年,Git>>>TFS.

有点离题,但将代码重新组织为更小的解决方案是一种选择吗?这不是我的特权,而且,将一个巨大的解决方案重构为更小的解决方案需要很多人天,这是我的老板绝对不喜欢的@你的老板应该喜欢它,因为它会让你的软件更有价值。如果可以的话,哇+10。卸载我的一些项目就释放了几十MB的内存。其他一切都很好,尤其是我的单元测试仍然运行良好。我要说的是R#v7.1。这几乎不可能以任何可靠的方式实现。如果您进行了任何认真的调试,那么您需要四处移动。此外,来自已卸载项目的类型会导致resharper(或VS2012?)静态分析认为它们不存在。一开始似乎很有希望。这需要对整个解决方案有很好的理解。如果你能很好地组织你的解决方案,你就会非常清楚哪些项目与你正在进行的项目相关。例如:当您更改JavaScript文件时,您肯定知道不必担心后端和数据库项目。所以你可以把它们卸下来。@DioPhung,你说得对。在我的例子中,大多数应用程序区域被分成2或3个项目。所以我基本上卸载了与我不关注的应用程序的其他部分相关的项目。不过,应用程序架构师很固执,不承认一个更好的架构是有益的。首先,我是R#的狂热支持者。也就是说,导致系统移动到页面文件而不是内存不能被归类为无关紧要。请记住,其他软件也必须在一个系统上运行,并且开发人员可能正在使用多个解决方案(在多个VS窗口中),这是一个真正的问题。任何企业公司的任何人,以我的经验,程序员在没有resharper的情况下都会更有效。这一次,他们可以移动并使用笔记本电脑进行开发。Resharper需要一个坚固的桌面,配备最新的i7第6代双四核、至少32gb的ram和一个非常快速的ssd驱动器。