Ось я спробую зробити рішення простіше зрозуміти.
Проблема, скоріш за все, це використання AddRazorRuntimeCompilation()
. Більш конкретно, у startup.cs ви можете додати компіляцію тривалості виконання бритви так:
IMvcBuilder builder = services.AddControllersWithViews()
.AddRazorRuntimeCompilation();
і щоб підтримати це, ваш веб-проект, ймовірно, має посилання на Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
Цей пакунок від nuget залежить від того, Microsoft.CodeAnalysis
що виробляє все те небажане виведення у папці публікації.
Виправлення полягає в тому, щоб відредагувати файл проекту та встановити залежність у режимі налагодження таким чином:
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation"
Version="3.1.0" Condition="'$(Configuration)' == 'Debug'" />
</ItemGroup>
а потім у файл startup.cs умовно дзвоніть AddRazorRuntimeCompilation()
так:
IMvcBuilder builder = services.AddControllersWithViews();
#if DEBUG
if (Env.IsDevelopment()) {
builder.AddRazorRuntimeCompilation();
}
#endif
Це призведе до того, що всі ці Microsoft.CodeAnalysis
бібліотеки залишатимуться виключно під час компіляції в режимі налагодження. Отже, коли ви публікуєте в режимі випуску, вони не будуть частиною виводу.