16

リリースされたばかりの ASP.NET Core で遊んでいます。新しいプロジェクトを作成し、見ていproject.jsonます。構成のこの部分が何のためにあるのか知りたい:

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

3 に答える 3

13

emitEntryPointは、ライブラリではなくアプリケーションであることをコンパイラに知らせるために使用されます。つまり、 の場合emitEntryPoint = true、 が必要public static void Main()です。

ドキュメントから:

true に設定すると実行可能ファイルが作成されます。それ以外の場合、プロジェクトは.dll.

preserveCompilationContextは上記のページには (まだ) 記載されていませんが、Razor やその他の種類のランタイム コンパイルを使用している場合は必要です。これがないと、Razor ビューのランタイム コンパイルが失敗します。

于 2016-07-11T16:37:59.563 に答える
12

emitEntryPoint の良い答えがここにあります: CompilationOptions.emitEntryPointとはどういう意味ですか?

preserveCompilationContext に関しては、ASP.NET ドキュメントには、ビューをコンパイルするには true である必要があると記載されています: https://docs.asp.net/en/latest/migration/rc1-to-rtm.html

于 2016-07-10T23:41:03.657 に答える