繁体   English   中英

如果我没有使用CSharpCodeProvider指定CompilerVersion,为什么大多数样本都指定它,会发生什么?

[英]What happens if I don't specify CompilerVersion with CSharpCodeProvider and why do most samples specify it?

使用CSharpCodeProvider典型代码示例传递CompilerVersion参数。 代码来自

var codeProvider =
    new CSharpCodeProvider(
       new Dictionary<String, String> { { "CompilerVersion", "v3.5" } });

我试图传递一个空字典,并试图调用CSharpCodeProvider的无参数构造函数,结果是一样的。

那么如果我没有指定`CompilerVersion,内部会发生什么? 为什么大多数样品始终指定它?

文档说明它是从machine.config或框架配置文件夹中指定的web.config获取的。

例如,我的Framework64 / config / web.config文件包含以下内容:

<compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
        <providerOption name="CompilerVersion" value="v4.0"/>
        <providerOption name="WarnAsError" value="false"/>
    </compiler>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM