在Nuget中,添加Microsoft.CodeDom.Providers.DotNetCompilerPlatform。
在添加这个dll的时候,会自动在web.config中添加以下内容
<system.codedom> ???<compilers> ?????<compiler language="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" /> ?????<compiler language="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>
这个dll本身还依赖Microsoft.Net.Compilers (>= 2.4.0)。
最终的packages.config
<?xml version="1.0" encoding="utf-8"?><packages> ?<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.8" targetFramework="net461" /> ?<package id="Microsoft.Net.Compilers" version="2.4.0" targetFramework="net461" developmentDependency="true" /></packages>
使用roslyn编译website项目
原文地址:https://www.cnblogs.com/chucklu/p/8117029.html