AutoMapper CS文件在Visual Studio 2015中极其缓慢

10

我有一个包含7或8个项目的解决方案,其中没有任何特别令人兴奋的内容,并且所有项目表现都如你所期望的那样(实际上也和我在当前机器上使用的其他项目一样好)。

然而,每当我打开AutoMapper MappingConfiguration文件中的任一一个时,Visual Studio就会停止响应,移动光标需要花费数分钟的时间,尝试编写代码则会导致大量的咒骂 - 大量大量大量的咒骂。

这似乎只出现在 "MappingConfig.cs" 文件中。它甚至不是很大-可能有30个映射(cfg.CreateMap<Bar,Foo>();)总共350行代码。

有人在使用AutoMapper时遇到Visual Studio变慢的情况吗?

我相信使用的是4.2版本的AutoMapper和Visual Studio 2015社区版。


我有同样的问题,使用AutoMapper 5.x和ReSharper 2016.3 EAP8也存在这个问题。是否有人在ReSharper方面报告了它? - Zoltán Tamási
5个回答

2
我在我的解决方案中也有类似的问题。通过使用 ADK,我找到了原因。Resharper占用了所有的CPU性能。我逐个排除其中的一些功能,并最终找到了解决方案。
关闭Resharper IntelliSense,启用Visual Studio本地的IntelliSense。
Resharper菜单 -> 选项 -> 环境 -> IntelliSense -> 通用
将单选按钮设置为Visual Studio。
在使用Autommaper CS文件后,再将其切换回来。
不知道这是什么问题,但我猜测这是Automapper新的反射引擎,在更新Automapper到3.1.1版本之后,我遇到了这个问题。但现在我的CPU使用率只有3-5%。

我也试过了,谢谢! - glosrob
Visual Studio在更新3后出了问题。请将此答案标记为正确。我正在寻找其他解决方法。 - Эркин Мухамедкулов

2

1

当我开始编辑Automapper配置文件时,我的经历与您完全相同。我的配置文件甚至更小(约170行代码)。Visual Studio开始占用50%以上的CPU,一切都变得缓慢。 我使用的是VS2015(专业版),此外还安装了resharper 10。 Automapper版本为4.2.1。


我还没有找到任何解决方法;如果有人找到了,我会很感兴趣。 - glosrob
我不确定这是否适合作为一个答案。 - Janis S.

0

我曾经遇到过同样的问题(Visual Studio 2015 Update 3,AutoMapper 4.2.1,Resharper 2016.1.2)。

安装了 Microsoft Visual Studio 2015 Update 3 的累积服务更新(KB3165756)并升级到 Resharper 2016.2 后,该问题减轻了一些,但仍然存在。


0

我自从4.2升级到5.1后也遇到了同样的问题,似乎是与Intellisense或者Reshapper有关?

每当你尝试像下面这样使用ForMember时,CPU占用率会飙升到50%以上,甚至需要30秒才能输入一个字符,我通常不得不关闭Visual Studio并重新打开它,否则AutoMapper就无法使用。或者我必须在文本编辑器模式下加载文件,但这样我就失去了所有好用的Intellisense。

示例代码:

Mapper.Initialize(cfg => { cfg.CreateMap() .ForMember(dest => dest.OrderNumber, opts => opts.MapFrom(src => $"{src.OrderReferenceNumber}"))

};


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接