簡體   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