Что такое buildOptions и preserveCompilationContext?

Я играю с только что выпущенным ASP.NET Core. Я создал новый проект, и я смотрю project.json. Я хотел бы знать, что это за конфигурация для:

"buildOptions": {
   "emitEntryPoint": true,
   "preserveCompilationContext": true
}

Ответ 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: версия версии