web-dev-qa-db-fra.com

À quoi servent buildOptions et preserveCompilationContext?

Je joue avec ASP.NET Core qui vient de sortir. J'ai créé un nouveau projet et je regarde project.json. Je voudrais savoir quelle est cette partie de la configuration pour:

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

Une bonne réponse pour emitEntryPoint existe ici: Que signifie compilationOptions.emitEntryPoint?

Quant à preserveCompilationContext, la documentation ASP.NET indique qu'il doit être vrai pour compiler les vues: https://docs.asp.net/en/latest/migration/rc1-to-rtm.html

11

emitEntryPoint est utilisé pour faire savoir au compilateur qu'il s'agit d'une application et non d'une bibliothèque. En d'autres termes, si emitEntryPoint = true, Vous devez avoir une public static void Main().

De la docs :

Crée un exécutable s'il est défini sur true, sinon le projet produira un .dll.

preserveCompilationContext n'est pas (encore) documenté dans la page ci-dessus, mais il est requis lorsque vous utilisez Razor ou tout autre type de compilation à l'exécution. Sans cela, la compilation d'exécution des vues Razor échouera.

13
Nate Barbettini

Dans mon cas, ASP.NET Core 1.1,

"preserveCompilationContext": vrai

obtenir le temps de construction en 9 secondes, après avoir défini false, le temps de construction devient plus rapide, ~ 1s.

Ma demande concerne uniquement Web Api.

ref: version 1.1

0
Wagner Pereira