В небольших проектах я могу переключиться в режим дизайна почти мгновенно (< 1 секунды).
У меня есть большой проект, открытие элемента управления которого занимает около 60 секунд. или форму в режиме дизайна — только в первый раз. После этой 60-секундной задержки я могу почти мгновенно открыть любой элемент управления в проекте в режиме дизайна — пока не перекомпилирую проект.
Если есть ссылка на exe-файл, созданный этим проектом в другом (небольшом) проекте маленький проект мгновенно становится таким же медленным, как и большой. Аналогично, если я добавлю все файлы из большого проекта в маленький проект по отдельности, малый проект станет таким же медленным.
Большой проект ссылается на большой проект Managed C++, но если я добавлю ту же ссылку (и вызову функцию из ссылки, чтобы убедиться, что она загружена) в небольшой проект, маленький проект все равно будет работать быстро.
Мой большой проект использует SandDock. Если мой небольшой проект использует SandDock, он по-прежнему работает быстро.
Мой большой проект имеет около 60 пользовательских элементов управления, которые появляются на панели инструментов. Если я добавлю в небольшой проект 60 пользовательских элементов управления, небольшой проект по-прежнему будет работать быстро.
Если я скрою пользовательские элементы управления из панели инструментов с помощью [System.ComponentModel.ToolboxItem (false)], большой проект по-прежнему работает медленно.
Проблема возникает как в vs2005, так и в vs2008.
Что может быть причиной того, что большой проект так медленно открывает представление дизайна в первый раз? Какая-то другая ссылка? Большое количество элементов управления? Большое количество классов? Какая-то другая причина?
Одна вещь, которую я заметил (хотя, возможно, отвлекающий маневр), заключается в том, что папка ProjectAssemblies (C:\Documents and Settings\tim.gradwell\Local Settings\Application Data\Microsoft\VisualStudio\9.0\ProjectAssemblies) огромен (> 1 ГБ), и в большинстве папок здесь есть копия моей управляемой библиотеки C++! Эти папки создаются заново каждый раз, когда представление дизайна повторно открывается (после перекомпиляции). Может ли это иметь какое-либо отношение к замедлению темпов роста?
Дополнительная информация:
Полоса инструментов в пользовательском элементе управления или форме приводит к тому, что загрузка формы занимает 60 секунд. Удаление панели инструментов (при сохранении нескольких других элементов управления в форме) позволяет мгновенно переключиться в представление дизайна.
Однако это еще не вся история... Панель инструментов в новый проект не вызывает значительного замедления работы, поэтому в моем большом проекте должно быть что-то, что влияет на панели инструментов. Кроме того, некоторые другие формы/элементы управления, на которых нет полосок инструментов, по-прежнему требуют 60 секунд для отображения представления дизайна, поэтому то, что влияет на панели инструментов, также влияет и на другие элементы управления. Я буду продолжать пытаться точно определить, какие элементы управления и, возможно, даже что это вызывает!
Подробнее здесь: https://stackoverflow.com/questions/833 ... be-so-slow
Что может быть причиной такой медленной работы представления дизайна? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение