Visual Studio 2019 застрял на использовании Designer для Form или UserControl

Visual Studio 2019 застрял на использовании Designer для Form или UserControl

Visual Studio 2019 зависает на этапе «Открытие файла» при открытии формы или пользовательского элемента управления в режиме конструктора.

решение1

Вам обязательно следует проверить следующую ссылку: https://weblog.west-wind.com/posts/2019/Feb/14/WPF-Hanging-in-Infinite-Rendering-Loop?fbclid=IwAR23ZnUrz7buVpFLXOX2qQin1WcifQ6h280EO25URO74NTGDkTedx1TDRb4

Вот цитата со страницы:

Использование переопределения StarDefinitionsCanExceedAvailableSpace Этот параметр переопределяет новое поведение GridRendering и, по сути, позволяет вам работать с целевым объектом .NET 4.7.x в вашем проекте, но сохраняет старое поведение, которое использовалось в предыдущих версиях.

В app.config можно задать параметр конфигурации для вашего приложения:

<configuration>
     <runtime>
        <AppContextSwitchOverrides value="Switch.System.Windows.Controls.Grid.StarDefinitionsCanExceedAvailableSpace=true"
     />
    </runtime>
</configuration>

Я могу подтвердить, что использование этого переключателя позволяет мне запустить 4.7.1 и не видеть блокировки в любом режиме масштабирования. После того, как я

у меня была работающая версия в 4.6.2, я снова перешел на 4.7.1 в отдельной ветке, чтобы попробовать это, и, конечно же, переключение заставило приложение запуститься с целевой версией 4.7.1. Так что есть хакерский обходной путь.

Но это обходной путь. Это «исправление» по словам Microsoft улучшает распределение рендеринга сетки, обеспечивая более точный размер, а также повышает производительность и снижает использование памяти. На бумаге это большое улучшение, но... ну, побочные эффекты

решение2

Исправлено путем перемещения файлов в новое решение и проект
1. Создайте новое решение и проект (можно просто создать новый проект).
2. Сначала переместите файлы CS, затем дизайнеров, затем resx.
3. Перестройте решение.
4. Завершите размещение файлов проекта.
5. Последняя проверка мест дизайнеров и файлов.
Если возникнут какие-либо проблемы, вы можете вручную переделать форму и инструменты CS, а затем скопировать и переместить их содержимое из старого в новый с теми же именами.
6. Измените пространство имен с помощью поиска>Заменить все (текущее решение).
X-Создайте свое решение и получайте удовольствие от программирования.

Связанный контент