emitEntryPoint используется, чтобы компилятор знал это приложение, а не библиотеку. Другими словами, если emitEntryPoint = true, вы должны иметь public static void Main().
Создает исполняемый файл, если он установлен в true, иначе проект будет создавать .dll.
preserveCompilationContext не документируется на приведенной выше странице (пока), но требуется, когда вы используете Razor или любой другой тип компиляции во время выполнения. Без него компиляция представлений Razor во время выполнения не будет выполнена.
Ответ 3
В моем случае, ASP.NET Core 1.1,
"preserveCompilationContext": true
получить время сборки за 9 секунд, после установки false, время сборки будет быстрее, ~ 1 с.