Файл AutoMapper CS чрезвычайно медленный в Visual Studio 2015
У меня есть решение с 7 или 8 проектами, ни одна из которых не содержит ничего особенного, и все они будут выполняться так же, как вы ожидали бы (и действительно, а также других проектов, которые я использовал на моем текущем компьютере).
Тем не менее, всякий раз, когда я открываю один из файлов AutoMapper MappingConfiguration, Visual Studio останавливается, перемещая курсор на одно место, занимает несколько минут за раз и пытается написать результаты кода во множестве присяжных - много-много и много ругательств.
Кажется, что это только файл MappingConfig.cs
. Это даже не так много - возможно, 30 отображений (cfg.CreateMap<Bar,Foo>();
) и всего 350 строк кода.
Кто-нибудь испытал замедление работы Visual Studio при использовании AutoMapper?
AutoMapper - 4.2. Я верю, и я использую Visual Studio 2015 Community Edition.
Ответы
Ответ 1
Я испытал то же самое и сообщил о проблеме репо Github.
https://github.com/AutoMapper/AutoMapper/issues/2217
Они видели это как проблему VS, но я получил хороший ответ для AutoMapper 5.0 <
. Используйте AutoMapper Profile Instances
, чтобы вы могли разделить конфигурацию на многие отдельные файлы. Это дает некоторые реальные выигрыши в производительности, а не все в одном файле.
https://github.com/AutoMapper/AutoMapper/wiki/Configuration#profile-instances
Ответ 2
У меня есть аналогичная проблема в моем решении.
Используя ADK, я нашел причину в моем случае.
Resharper получает все процессоры.
Точка за точкой я исключает некоторые функции из нее и в результате находит решение.
Выключите Resharper IntelliSense, разрешите работать с Visual Studio собственной разработки IntelliSense.
Меню Resharper → Option → Environment → IntelliSense → Общие
Установите радио в Visual Studio.
После работы с CS файлом Autommaper я верну его обратно.
Не знаю, в чем дело, но я думаю, что это автоматический двигатель отражения Automapper, после обновления Automapper от версии 3.1.1 у меня возникла эта проблема.
Но теперь мой процессор на 3-5% уровне.
Ответ 3
У меня есть тот же опыт, когда я начинаю редактировать файл конфигурации configapper. Мой конфигурационный файл еще меньше (~ 170 строк кода). Visual Studio начинает занимать более 50% процессора, и все замедляется.
Я использую VS2015 (Professional) и, кроме того, имеет resharper 10.
Версия Automapper - 4.2.1.
Ответ 4
У меня такая же проблема, так как с 4.2 я обновился до 5.1, все еще такая же проблема, кажется, с intellisense или, может быть, с Reshapper?
В любое время, когда вы пытаетесь сделать ForMember, как показано ниже, и процессор поднимается до 50% + до точки, где требуется 30 секунд для ввода символа 1, мне обычно приходится выключать визуальную студию и снова открывать ее, чтобы AutoMapper был непригодным. Или мне нужно загрузить файл в текстовом редакторе Mode, но потом я теряю все приятное intellisense.
Пример кода:
Mapper.Initialize(cfg = > {cfg.CreateMap() .ForMember(dest = > dest.OrderNumber, opts = > opts.MapFrom(src= > $"{src.OrderReferenceNumber}" ))
};
Ответ 5
У меня возникла такая же проблема (обновление Visual Studio 2015 3, AutoMapper 4.2.1, Resharper 2016.1.2).
После установки накопительного обновления обслуживания для Microsoft Visual Studio 2015 Update 3 (KB3165756) и перехода на Resharper 2016.2 проблема менее серьезная, но он все еще существует.