избежать компиляции всего проекта asp.net? - PullRequest
0 голосов
/ 03 декабря 2009

Я разрабатываю на основе API .net CMS.

Теперь я создаю свой собственный класс с некоторым кодом.

Всякий раз, когда я загружаю свой класс ... перекомпиляция или перезагрузка сайта занимает много времени.

Можно ли предотвратить компиляцию других базовых классов, которые я не трогал и не перезагружал, а только новые загруженные?

Спасибо.

1 Ответ

2 голосов
/ 03 декабря 2009

.NET - это скомпилированный язык, поэтому вы не можете «скомпилировать» только некоторые классы. Но вы можете предварительно скомпилировать весь сайт после добавления некоторых файлов, что может ускорить «холодный старт», поэтому его не нужно будет предварительно компилировать при первом посещении. Если вы используете инструмент «Опубликовать» в VS, вы можете добавить событие Post build, которое вызывает прекомпилятор в опубликованном месте. При первом доступе у вас всегда будет больше времени запуска, вы не сможете этого избежать. По крайней мере, я не знаю, как ...
Второй вариант - ngen.exe, который создает собственный образ из вашего управляемого кода .net на основе IL и сокращает время запуска (при первом запросе .net увидит этот собственный образ и просто выполнит его). Но с использованием ngen.exe вы теряете некоторую оптимизацию времени выполнения, потому что ngen должен «играть безопасно», поэтому SSE и подобная оптимизация невозможны. Рекомендуется выполнять профилирование производительности при использовании ngen.exe, в некоторых случаях приложение будет работать медленнее!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...