У меня есть решение с 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.
5 ответов
Я испытал то же самое и сообщил о проблеме в репозиторий Github.
https://github.com/AutoMapper/AutoMapper/issues/2217
Они увидели в этом проблему VS, но я получил хороший ответ на AutoMapper 5.0 <
. Используйте AutoMapper Profile Instances
, чтобы можно было разделить конфигурацию на несколько отдельных файлов. Это дает реальный прирост производительности вместо того, чтобы хранить все в одном файле.
https://github.com/AutoMapper/AutoMapper/wiki/Configuration#profile-instances
У меня возникла такая же проблема (Visual Studio 2015 с обновлением 3, AutoMapper 4.2.1, Resharper 2016.1.2).
После установки накопительного обновления обслуживания для Microsoft Visual Studio 2015 Update 3 (KB3165756) и при обновлении до Resharper 2016.2 проблема менее серьезна, но все еще существует.
У меня такая же проблема с 4.2, я обновился до 5.1, но такая же проблема, похоже, связана с intellisense или, может быть, с Reshapper?
Каждый раз, когда вы пытаетесь выполнить ForMember, как показано ниже, и процессор увеличивается на 50% + до точки, когда требуется 30 секунд для ввода 1 символа, мне обычно приходится закрывать визуальную студию и снова открывать ее, делая AutoMapper непригодным для использования. Или мне нужно загрузить файл в режиме текстового редактора, но тогда я теряю все удобные функции intellisense.
Пример кода:
Mapper.Initialize (cfg => {cfg.CreateMap () .ForMember (dest => dest.OrderNumber, opts => opts.MapFrom (src => $ "{src.OrderReferenceNumber}"))
};
У меня точно такой же опыт, когда я начинаю редактировать cs-файл конфигурации Automapper. Мой конфигурационный файл еще меньше (~ 170 строк кода). Visual Studio начинает загружать более 50% ЦП, и все замедляется. Я использую VS2015 (Professional) и, кроме того, у меня установлен resharper 10. Версия Automapper - 4.2.1.
У меня аналогичная проблема в моем решении. Используя ADK, я нашел причину в своем случае. Resharper получает всю производительность процессора. По пунктам я исключаю из него некоторые особенности, и в результате нахожу решение.
Отключите Resharper IntelliSense, разрешите работу Visual Studio с встроенным IntelliSense.
Меню Resharper -> Параметр -> Среда -> IntelliSense -> Общие
Установите радио в Visual Studio.
После работы с файлом Autommaper CS возвращаю его обратно.
Не знаю, в чем дело, но я предполагаю, что это новый механизм отражения Automapper, после обновления Automapper с версии 3.1.1 у меня возникла эта проблема.
Но сейчас мой CPU на уровне 3-5%.
Похожие вопросы
Новые вопросы
c#
C# (произносится как «see Sharp») — это высокоуровневый мультипарадигменный язык программирования со статической типизацией, разработанный Microsoft. Код C# обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, которое включает в себя .NET, .NET Framework, .NET MAUI и Xamarin среди прочих. Используйте этот тег для ответов на вопросы о коде, написанном на C#, или о формальной спецификации C#.