Что может быть причиной такой медленной работы представления дизайна?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Что может быть причиной такой медленной работы представления дизайна?

Сообщение Anonymous »

В небольших проектах я могу переключиться в режим дизайна почти мгновенно (< 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»