リリースされたばかりの ASP.NET Core で遊んでいます。新しいプロジェクトを作成し、見ていproject.json
ます。構成のこの部分が何のためにあるのか知りたい:
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true
}
リリースされたばかりの ASP.NET Core で遊んでいます。新しいプロジェクトを作成し、見ていproject.json
ます。構成のこの部分が何のためにあるのか知りたい:
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true
}
emitEntryPointは、ライブラリではなくアプリケーションであることをコンパイラに知らせるために使用されます。つまり、 の場合emitEntryPoint = true
、 が必要public static void Main()
です。
ドキュメントから:
true に設定すると実行可能ファイルが作成されます。それ以外の場合、プロジェクトは
.dll
.
preserveCompilationContextは上記のページには (まだ) 記載されていませんが、Razor やその他の種類のランタイム コンパイルを使用している場合は必要です。これがないと、Razor ビューのランタイム コンパイルが失敗します。
emitEntryPoint の良い答えがここにあります: CompilationOptions.emitEntryPointとはどういう意味ですか?
preserveCompilationContext に関しては、ASP.NET ドキュメントには、ビューをコンパイルするには true である必要があると記載されています: https://docs.asp.net/en/latest/migration/rc1-to-rtm.html