我正在处理一个有55个项目的ASP.NET 3.5项目,当我在Visual Studio 2008中打开这个解决方案时,需要超过一分钟的时间来打开,每个项目大约要1秒钟。然而,如果我在打开解决方案之前断开网络电缆,那么只需要大约15秒钟!有什么想法可以解决这个速度变慢的问题吗?
我正在处理一个有55个项目的ASP.NET 3.5项目,当我在Visual Studio 2008中打开这个解决方案时,需要超过一分钟的时间来打开,每个项目大约要1秒钟。然而,如果我在打开解决方案之前断开网络电缆,那么只需要大约15秒钟!有什么想法可以解决这个速度变慢的问题吗?
曾经在使用Visual Source Safe时,我也遇到过这个问题。
如果你的解决方案处于源代码控制下,可能是源代码控制插件正在请求更新。
你应该进行一些调查,启动Wireshark,在相关接口上开始抓包并查看流动的流量。
我能用问题回答问题吗?如何让VS不仅在加载时不崩溃,而且在短短60秒内快速加载呢?
当项目数量达到10-12个时,Visual Studio的编译时间变得难以忍受,当项目数量达到5-8个时,Resharper将会崩溃。IDE占用了大量的内存,即使使用多个VS实例打开更多的项目也通常不是一个选项。
总之,这都与内存使用有关,而那个奇怪的项目可能正在做这件事,例如文件最多的那个项目。
我在一台没有互联网连接的开发机器上遇到了这个问题,后来发现问题与IE的Internet选项中的一个设置有关:
控制面板 -> Internet选项 -> 高级 -> 安全 -> 检查发布者证书吊销
确保取消勾选此项后,我的解决方案再次快速加载。
一个解决方案中有55个项目
哇,我无法想象需要那么多项目的解决方案是什么类型的。答案可能是您的源代码控制提供程序需要刷新每个项目的状态,这需要时间。
对于像Subversion这样的编辑-合并-提交版本控制系统,此操作不会发生。尝试暂时从整个解决方案中删除源代码控制,以查看是否是罪魁祸首。
http://www.tmgirvin.com/2009/03/working-offline-with-visual-studio-2008-and-tfs.html
编辑 我看过的另一个解决方案是,创建以下三个解决方案: _webTier.sln _database.sln _build.sln (其中“is your project name”是你的项目名)
每个解决方案都是整个项目的一个自给自足的部分。如果你只需要加载webtier解决方案而不需要数据库或移动项目的部分,那么你就可以只打开webtier解决方案。
构建解决方案包含了所有需要构建的内容,它需要很长时间来加载。
我记得几年前我的一个同事也遇到了类似的问题(解决方案要小得多,而且是在VS2003中)。我记不清细节了,但我想它与本地ASPNET用户帐户有关(或者说该帐户不存在)。不过我不确定...
顺便说一下:我通常发现每个解决方案中大约有一把手的项目(通常一个解决方案会生成一个或两个用于生产代码的程序集),然后同时运行几个Visual Studio实例更有效率。在同一个解决方案中拥有50多个项目感觉就像在寻找问题。
可能您有其他依赖关系,只是想分享我的想法。