Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What are buildOptions and preserveCompilationContext used for?

I am playing with just released ASP.NET Core. I have created new project and I am looking at project.json. I'd like to know what is this part of configuration for:

"buildOptions": {
   "emitEntryPoint": true,
   "preserveCompilationContext": true
}
like image 948
Andrei Avatar asked Jul 10 '16 22:07

Andrei


2 Answers

emitEntryPoint is used to let the compiler know it's an application, not a library. In other words, if emitEntryPoint = true, you must have a public static void Main().

From the docs:

Creates an executable if set to true, otherwise the project will produce a .dll.

preserveCompilationContext isn't documented in the above page (yet), but it's required when you are using Razor or any other type of runtime compiling. Without it, runtime compilation of Razor views will fail.

like image 95
Nate Barbettini Avatar answered Nov 18 '22 23:11

Nate Barbettini


A good answer for emitEntryPoint exists here: What does compilationOptions.emitEntryPoint mean?

As for preserveCompilationContext the ASP.NET documentation states it needs to be true in order to compile views: https://docs.asp.net/en/latest/migration/rc1-to-rtm.html

like image 20
Howard Beard-Marlowe Avatar answered Nov 18 '22 23:11

Howard Beard-Marlowe