如何在.NET中启用程序集绑定失败日志记录(Fusion)?
我们的编译时间非常慢,在双核2GHz,2G Ram机器上可能需要20多分钟.
这很大程度上是由于我们的解决方案的规模已经发展到70多个项目,以及VSS,当你拥有大量文件时,它本身就是瓶颈.(不幸的是,交换VSS不是一个选项,所以我不希望它下降到VSS bash)
我们正在考虑合并项目.我们还在寻找多种解决方案,以便为应用程序的每个元素实现更大的关注点分离和更快的编译时间.我可以看到这将成为一个DLL地狱,因为我们试图保持同步.
我很想知道其他团队如何处理这个扩展问题,当你的代码库达到一个临界质量时你会怎么做,你正在看着状态栏传递编译消息的一半时间.
更新 我忽略了这是一个C#解决方案.感谢所有的C++建议,但是我已经有几年了,因为我不得不担心标题.
编辑:
到目前为止有很好的建议(不是说下面没有其他好的建议,只是帮助了什么)
仍然没有通过编译扯皮,但每一点都有帮助.
Orion在评论中确实提到仿制药也可能有一个游戏.从我的测试来看,似乎确实有最小的性能损失,但不足以确定 - 由于光盘活动,编译时间可能不一致.由于时间限制,我的测试没有包含与实时系统中出现的一样多的泛型或代码,因此可能会累积.我不会避免在它们应该被使用的地方使用泛型,只是为了编译时的性能
替代方法
我们正在测试在新解决方案中构建应用程序新领域的实践,根据需要导入最新的dll,当我们对它们感到满意时,将它们集成到更大的解决方案中.
我们也可以通过创建临时解决方案来对现有代码执行相同的操作,这些解决方案仅封装我们需要处理的区域,并在重新集成代码后将它们丢弃.我们需要权衡重新整合这些代码所需的时间与我们获得的时间,因为没有Rip Van Winkle喜欢在开发过程中快速重新编译的经验.
这适用于2008和2010版本(也可能是早期版本).同时适用于C++和C#项目.
初始构建(重启后)以正常速度运行并具有相当好的CPU利用率.在"一段时间"之后(即使用计算机进行"填充"),后续构建可能会非常非常缓慢地运行并且CPU利用率非常低.我发现的唯一修复似乎是重启,然后循环重新开始.WPF和非WPF项目都会发生这种情况,尽管WPF的情况要差10倍.
我在不同的机器上发生过这种情况,甚至为不同的组织工作,所以我认为它是Visual Studio的东西,而不是环境的东西.我已经尝试了平常(谷歌,关闭AV,Intellisense,Resharper等,目前期待获得我订购的SSD).
我目前的机器规格是2.7gig四核,4GB内存,XP(还没有Win7工作),250Gb硬盘等
任何人都有任何想法,这可能是什么以及如何解决它?
提前致谢!
我搜索过这个主题,但似乎找不到与我正在经历的内容完全相关的帖子.
我有一个我需要处理的Visual Studio解决方案,它相当大,包含16个项目.
一切都是如此缓慢和波涛汹涌(除了启动实际上非常快).
单击文本编辑器中的一行,只需5秒即可移动光标.
切换文件〜1-2个地雷(如果我很幸运的话)
点击"工具"~2分钟即可显示下拉菜单.
如果我右键单击其中一个项目,那么在我得到下拉菜单前约5-10分钟.在此期间我的整个电脑都锁定了.
关闭Visual Studio(愤怒)~10-20分钟
至于调试和建设..好吧,我从来没有成功到那么远.
查看任务管理器(使用visual studio打开这需要很长时间)没有任何运行消耗大量内存/ CPU.
我知道微软的产品并不以快速而闻名,但这很荒谬,我无法编写任何类似的代码.有些事情一定是错的.
任何帮助都会非常感激,我的脑袋已经准备好爆炸了.
Visual Studio 2010 Ultimate SP1
Windows 7 x64
英特尔i7 950 @ 3.07GHz
6GB RAM(三通道)
2x nVidia GTX 470(SLI)
我们使用Visual Studio 2008作为主要开发IDE.我们的安全团队已将McAfee设置为扫描\ Local Settings\Temp文件夹中的文件.不幸的是,VS在代码构建期间使用此目录,这会降低开发人员的速度.我们已经与安全团队达成了僵局,并且想知道是否有人知道VS中的配置设置,我们可以将文件夹更改为写入这些临时文件的位置.
谢谢
在过去两个月左右的时间里,我一直在观察实时保护服务的一个奇怪现象,该服务捆绑在Windows 10的Windows Defender中.
当此服务设置为ON时,Visual Studio构建需要花费极长的时间才能完成.Visual Studio本身需要永远推出.此外,如果Outlook中安装了托管加载项(使用Visual Studio Tools For Office,VSTO编写),则Outlook需要13-14秒才能启动!禁用此服务后,Outlook将在两秒钟左右再次启动.
我已经在Twitter上通过Windows支持提出了这个问题,并尝试在线与Microsoft支持人员讨论这个问题一小时没有任何解决方案.环顾互联网,我可以看到有些用户报告了同样的问题
http://ardalis.com/speed-up-visual-studio-build-times
我已经注意到这只有两个月左右了.我尝试在Azure等中启动新的虚拟机来测试这个,并且在每个实例中我都注意到这个真正的时间保护服务是罪魁祸首.我的主要问题是Outlook加载时间说实话.
我试图在微软的答案的网站上发布这个位置,但到目前为止没有运气.我希望这里的任何人都知道如何在不为实时保护服务中的Outlook添加例外的情况下解决此问题(之后加载项按预期在200毫秒内加载).
我正在研究目前有60个组件的大型解决方案.有许多程序集定义了解决方案的公共部分,然后是系统的一些入口点程序集.
TDD实际上是不可能的,因为最低域层中的单线变化迫使几乎整个解决方案的重建,因为测试组件引用了解决方案的各个层.
什么是最佳实践,将构建时间从当前的75秒降低到更可接受的5秒左右?这将使TDD再次可行.
在进行单元测试时,某些类需要由其他程序集的接口定义的模拟,因此必须在测试程序集中引用.因此,除了解决方案的最低级别之外,并不总是可以单独引用其他程序集.
我正在使用Visual Studio 2008(使用最新的服务包)我也安装了ReSharper 4.5.ReSharper代码分析/扫描已关闭.操作系统:Windows 7企业版
运行调试器,编译器需要很长时间(2分钟),如果我在app_code文件夹中保存文件,它会锁定2分钟.
我有12 Gb的ram,你可以看到我还有更多.当VS被冻结/锁定时拍摄此屏幕截图.
我可以为VS分配更多ram吗?或者我还能做其他任何调整吗?
