Visual Studio 2010 - редактор XAML чрезвычайно медленный - PullRequest
57 голосов
/ 18 мая 2011

Кто-нибудь еще испытывал невероятно медленную работу в редакторе XAML в VS 2010?Если у меня новый проект с ограниченным количеством файлов, производительность в порядке.Однако, если у меня есть проект с большим количеством файлов XAML, редактор XAML зависает с перерывами каждые несколько секунд, что делает его практически невозможным для использования.

Я должен также отметить, что производительность только в одномПроект, на который я ссылаюсь на DevExpress 2010. Я не уверен, что это связано.

Буду очень признателен за любые предложения по решению этой проблемы.

Крис

Ответы [ 5 ]

61 голосов
/ 17 января 2012

В Visual Studio 2012:

Перейти к

Tools > Options > TextEditor > XAML > Misc 

Отметьте Always open documents in XAML view и снимите отметку Automatically populate toolbox items.

В Visual Studio 2015, 2017:

Перейти к

Tools > Options > XAML Designer 

снять отметку Automatically populate toolbox items.

Это исправило мою ту же проблему.

37 голосов
/ 18 мая 2011

Если вам не нужен визуальный дизайнер, вы можете выбрать другой редактор в Visual Studio:

Щелкните правой кнопкой мыши файл xaml -> Открыть с помощью ... -> Редактор исходного кода (текста)

Вы потеряете только разделенное представление, intellisense и т. Д. Все равно будут работать.
Если вам нужно что-то проверить в конструкторе, вы все равно можете нажать «Просмотреть конструктор», чтобы снова открыть обычный редактор XAML.

Если вы хотите улучшить производительность визуального дизайнера, попробуйте проверить DesignerProperties.GetIsInDesignMode в своем коде. Визуализатор создает экземпляры ваших элементов управления, чтобы знать, как их отображать, и, таким образом, выполняет части кода.

9 голосов
/ 18 июля 2012

Как и у OP, у меня была крайняя задержка в редакторе xaml в проекте, который сильно зависел от элементов управления DevExpress WPF. После неудачной попытки решить эту проблему с помощью других решений, опубликованных здесь, я в итоге попытался удалить мой файл параметров пользовательских решений (.suo) , который обычно находится в той же папке, что и файл решения (.sln). , Это сразу решило проблему. Возможно, вы захотите прочитать в этом посте о том, что Visual Studio хранит в файле suo, чтобы вы могли сбросить что-нибудь важное (например, конфигурацию сборки - моя всегда по умолчанию для активной платформы решений возвращается к «Смешанным платформам», например)

5 голосов
/ 23 апреля 2013

Краткий ответ : если вы не слишком много используете конструктор, просто замените редактор по умолчанию для XAML, что избавит вас от визуального конструктора XAML и ускорит работу. Щелкните правой кнопкой мыши любой файл XAML, нажмите Открыть с помощью ... и выберите другой редактор по умолчанию. Редактор исходного кода (текста) работает просто отлично.

Теперь все должно быть хорошо. Если вы хотите понять детали и полностью избавиться от медленного дизайнера, прочитайте длинный ответ.

Длинный ответ : Здесь - хорошее объяснение того, что происходит и почему это так медленно.

Краткая задача, основанная на вышеупомянутой статье, чтобы полностью отключить визуальный конструктор XAML:

  1. В разделе Сервис-> Параметры-> Текстовый редактор-> XAML-> Разное-> Проверка по умолчанию Всегда открывать документы в полном представлении XAML
  2. Откройте диспетчер задач и завершите процесс XAML Designer XDesProc.exe (Примечание: для VS2013 щелкните правой кнопкой мыши по этому процессу и перейдите в папку с ним. Переименуйте exe в sth else, чем завершите процесс)
  3. Стандартный редактор XAML снова загрузит этот процесс (я полагаю, что он не будет успешным с VS2013 и действиями, выполненными в P.2). Однако щелкните правой кнопкой мыши любой файл XAML, откройте с помощью ... и выберите другой редактор по умолчанию. Редактор исходного кода (текста) работает просто отлично.
4 голосов
/ 10 мая 2012

При использовании dev express я заметил некоторые запаздывающие ответы в конструкторе Visual Studio. По-видимому, это связано с лицензионной аутентификацией продуктов DevExpress.

Если вы удалите файл " Licenses.Licx " (находится в папке свойств проекта), вы заметите заметное улучшение производительности.

Примечание. Удаление файла лицензии не мешает вам использовать элементы управления DevExpress. Но это останавливает VS от постоянной аутентификации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...