ASP.NET Core 3.0プロジェクトを公開すると、表示されている4つのアセンブリがこれらの各フォルダーにあるローカライズされたフォルダーがいくつか表示されます。これらのフォルダとファイルが含まれる理由がわかりません。どのパッケージもCodeAnalysis
パッケージを参照していません。
追加した <PreserveCompilationContext>false</PreserveCompilationContext>
はcsprojファイルにありますが、役に立ちませんでした。それらを除外する方法はありますか?
私の場合、これらのローカライズされたフォルダーのソースは、パッケージMicrosoft.AspNetCore.Mvc.Razor.RuntimeCompilationからのものでした。 Microsoft.CodeAnalysis.Razorに依存しています。パッケージの目的について詳しくは、こちらをご覧ください。 https://docs.Microsoft.com/en-us/aspnet/core/mvc/views/view-compilation?view=aspnetcore-3.1
パッケージを利用しようとするときに、アセットを単に除外することはできません。私の回避策は、プロジェクトがデバッグモードのときは常に条件付きでパッケージ参照を含めることでした。 条件付きパッケージ参照
次に、#ifプリプロセッサディレクティブを使用して、かみそりランタイムコンパイルを有効にするコードを条件付きで実行しました。 プリプロセッサディレクティブかみそりランタイムコンパイル
注:ビルド後に削除されたフォルダーを表示するには、binフォルダーを削除する必要がある場合があります。また、正しいソリューション構成でビルドしていることを確認してください。
この正確なシナリオを説明するGithubの問題を見つけることができましたが、残念ながら解決されませんでした。 https://github.com/dotnet/extensions/issues/2247