यहाँ मेरा समाधान को देखने के लिए आसान बनाने की कोशिश कर रहा है।
समस्या, संभावना से अधिक का उपयोग है AddRazorRuntimeCompilation()
। अधिक विशेष रूप से, startup.cs में आप जैसे रेजर रनटाइम संकलन को जोड़ने की संभावना है:
IMvcBuilder builder = services.AddControllersWithViews()
.AddRazorRuntimeCompilation();
और इसका समर्थन करने के लिए, संभवतः आपके वेब प्रोजेक्ट का संदर्भ है Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
उस नौगट पैकेज पर निर्भरता है Microsoft.CodeAnalysis
कि प्रकाशित फ़ोल्डर में सभी अवांछित उत्पादन का उत्पादन होता है।
फिक्स परियोजना फ़ाइल को संपादित करने और डिबग मोड पर निर्भरता सशर्त बनाने के लिए है:
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation"
Version="3.1.0" Condition="'$(Configuration)' == 'Debug'" />
</ItemGroup>
और फिर स्टार्टअप में। AddRazorRuntimeCompilation()
जैसे फ़ाइल सशर्त रूप से कॉल करें :
IMvcBuilder builder = services.AddControllersWithViews();
#if DEBUG
if (Env.IsDevelopment()) {
builder.AddRazorRuntimeCompilation();
}
#endif
यह उन सभी Microsoft.CodeAnalysis
लिब्रेरीज़ का कारण होगा जब केवल डिबग मोड में संकलन किया जाएगा। इसलिए अब जब आप रिलीज़ मोड का उपयोग करके प्रकाशित करेंगे तो वे आउटपुट का हिस्सा नहीं होंगे।