Долгое время загрузки в Visual Studio для Крупного проекта

Если Вы имеете в виду это:

public static void OnEventSeven(DivBySevenEventArgs e)
    {
        if(EventSeven!=null)
            EventSeven(new object(),e);
    }    

часть кода, тогда ответ:

, Если никто не подписывается на обработчик событий "EventSeven" тогда, Вы получите исключение нулевой ссылки на "EventSeven (новый объект (), e)";

И правило:

подписчик ответственен за добавление обработчика (+ =) и удаление его (-=), когда он не хочет получать события больше. Сборка "мусора" идет правилами по умолчанию, если на объект больше не ссылаются, это может быть убрано.

6
задан Community 23 May 2017 в 11:55
поделиться

4 ответа

Ребята из команды VS посмотрели на меня и обнаружили проблему с intellisense. Вот их описание:

«Похоже, что оба файла, которые вы мне дали, содержат часть статического частичного класса EntityPropertyDescriptors, и я предполагаю, что все остальные из 500 файлов тоже. Что происходит, так это то, когда мы создаем наш кеш IntelliSense, каждый раз, когда мы анализируем один из этих файлов, мы видим, что в нем есть статический класс, и решаем проверить, есть ли у этого статического класса какие-либо методы расширения. Чтобы найти Расширения, мы просматриваем каждый метод в каждой части, чтобы увидеть, является ли он методом расширения.Это заставляет нас повторно анализировать каждый файл , чтобы увидеть, есть ли у типа какие-либо методы расширения. "

Они обнаружили аналогичную проблему с VS2010, но сейчас исправляют ее. К сожалению, они не собираются исправлять это в VS2008, поэтому у нас остается обходной путь - поместить все частичные классы в один файл. Они все еще могут быть частичными, но они должны находиться в одном физическом файле, чтобы обойти проблему.

После объединения всех частичных классов в один файл время загрузки этого проблемного проекта составляет от 30 минут до примерно 10 секунд.

Большое спасибо Эрику Липперту и Кевину Пилч-Биссону за помощь мне в этом.

9
ответ дан 8 December 2019 в 18:38
поделиться

Вам необходимо отключить фоновую компиляцию.

Вот как это сделать:

http://ira.me.uk/2008/09/01/switch-offon-visual -studio-2008-background-compilation /

Инструменты -> Параметры -> Текстовый редактор -> C # -> Дополнительно -> Показывать живые семантические ошибки

Вы по-прежнему будете получать подчеркивание ошибки, но вы должны нажать кнопку «Создать» перед они появляются.

2
ответ дан 8 December 2019 в 18:38
поделиться

В инструментах> параметры> Текстовый редактор> C # есть раздел Intellisense, который выглядит вроде делает то, что вы хотите.

1
ответ дан 8 December 2019 в 18:38
поделиться

Вы пытались очистить свое решение от всех временных файлов, созданных Visual Studio? Иногда эти файлы могут быть повреждены, особенно если вы перешли с VS 2005.

Закройте решение, найдите все файлы * .suo и * .ncb, удалите / переименуйте их, а затем снова откройте решение.

И еще кое-что, на что нужно убедиться: установлены ли сторонние надстройки? Попробуйте запустить VS в SafeMode с помощью параметра командной строки / SafeMode .

1
ответ дан 8 December 2019 в 18:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: