In NuGet, add Microsoft.CodeDom.Providers.DotNetCompilerPlatform.
When you add this DLL, the following is automatically added to the Web. config
<system.codedom> <compilers> <compilerlanguage= "C#;cs;csharp"extension= ". cs"type= "Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, version=1.0.8.0, Culture=neutral, publickeytoken= 31bf3856ad364e35 "WarningLevel= "4"compileroptions= "/langversion:default/nowarn:1659;1699;1701" /> <compilerlanguage= "Vb;vbs;visualbasic;vbscript"extension= ". vb"type= "Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, version=1.0.8.0, Culture=neutral, publickeytoken= 31bf3856ad364e35 "WarningLevel= "4"compileroptions= "/langversion:default/nowarn:41008/define:_mytype=\" web\" /optioninfer+ " /> </compilers> </system.codedom>
The DLL itself also relies on Microsoft.Net.Compilers (>= 2.4.0).
The final Packages.config
<?XML version= "1.0" encoding= "Utf-8"?><Packages> < PackageID= "Microsoft.CodeDom.Providers.DotNetCompilerPlatform"version= "1.0.8"targetframework= "net461" /> < PackageID= "Microsoft.Net.Compilers"version= "2.4.0"targetframework= "net461"developmentdependency= "true" /></Packages>
Compiling website projects with Roslyn