Что такое buildOptions и preserveCompilationContext?
Я играю с только что выпущенным ASP.NET Core. Я создал новый проект, и я смотрю project.json
. Я хотел бы знать, что это за конфигурация для:
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true
}
Ответы
Ответ 1
Хороший ответ для emitEntryPoint существует здесь: Что означает compilationOptions.emitEntryPoint?
Как и для preserveCompilationContext, документация ASP.NET утверждает, что для компиляции представлений должно быть истинно: https://docs.asp.net/en/latest/migration/rc1-to-rtm.html
Ответ 2
emitEntryPoint используется, чтобы компилятор знал это приложение, а не библиотеку. Другими словами, если emitEntryPoint = true
, вы должны иметь public static void Main()
.
Из docs:
Создает исполняемый файл, если он установлен в true, иначе проект будет создавать .dll
.
preserveCompilationContext не документируется на приведенной выше странице (пока), но требуется, когда вы используете Razor или любой другой тип компиляции во время выполнения. Без него компиляция представлений Razor во время выполнения не будет выполнена.
Ответ 3
В моем случае, ASP.NET Core 1.1,
"preserveCompilationContext": true
получить время сборки за 9 секунд, после установки false, время сборки будет быстрее, ~ 1 с.
Мое приложение предназначено только для Web Api.
ref: версия версии