
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-Создайте свое решение и получайте удовольствие от программирования.