【问题标题】:What happens if I don't specify CompilerVersion with CSharpCodeProvider and why do most samples specify it?如果我不使用 CSharpCodeProvider 指定 CompilerVersion 会发生什么?为什么大多数示例都指定它?
【发布时间】:2013-10-16 09:59:48
【问题描述】:

使用CSharpCodeProvider 传递CompilerVersion 参数的典型代码示例。代码from here

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

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

如果我不指定`CompilerVersion,内部会发生什么?为什么大多数样本总是指定它?

【问题讨论】:

    标签: c# .net csharpcodeprovider


    【解决方案1】:

    文档声明它是从您的框架配置文件夹中指定的machine.configweb.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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-08
      • 1970-01-01
      相关资源
      最近更新 更多