asp.net 中的 Roslyn 编译器 - 未拾取条件编译符号
Roslyn compiler in asp.net - conditional compilation symbols not picked up
使用以前版本的 C# 编译器,可以按以下方式定义编译符号:
<configuration>
<system.codedom>
<compilers>
<compiler
language="c#;cs;csharp" extension=".cs"
compilerOptions="/d:CUSTOMSYMBOL"
type="Microsoft.CSharp.CSharpCodeProvider,
System, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" />
</compilers>
</system.codedom>
然而,这似乎不适用于 Roslyn 编译器:
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs"
compilerOptions="/d:CUSTOMSYMBOL"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=0.2.0.0, Culture=neutral" warningLevel="4" />
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" compilerOptions="/optioninfer+" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<providerOption name="CompilerVersion" value="v4.0" />
</compiler>
</compilers>
</system.codedom>
Roslyn 编译器的预览版是否支持此功能,如果支持,正确的配置方法是什么。
nuget.org 上有 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 的新版本,它修复了这个问题。
使用以前版本的 C# 编译器,可以按以下方式定义编译符号:
<configuration>
<system.codedom>
<compilers>
<compiler
language="c#;cs;csharp" extension=".cs"
compilerOptions="/d:CUSTOMSYMBOL"
type="Microsoft.CSharp.CSharpCodeProvider,
System, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" />
</compilers>
</system.codedom>
然而,这似乎不适用于 Roslyn 编译器:
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs"
compilerOptions="/d:CUSTOMSYMBOL"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=0.2.0.0, Culture=neutral" warningLevel="4" />
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" compilerOptions="/optioninfer+" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<providerOption name="CompilerVersion" value="v4.0" />
</compiler>
</compilers>
</system.codedom>
Roslyn 编译器的预览版是否支持此功能,如果支持,正确的配置方法是什么。
nuget.org 上有 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 的新版本,它修复了这个问题。