applicationSettings和Web.config

Eri*_* J. 20 asp.net web-config

我有一个提供日志,我使用的WebForms项目,现在想在一个ASP.Net MVC 2项目中使用它的DLL.

该DLL的某些方面在app.config中配置:

<configuration>
    <configSections>
            <section name="Tools.Instrumentation.Properties.Settings" 
                     type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
                     requirePermission="false" />
        </sectionGroup>
    </configSections>

 <applicationSettings>
        <Tools.Instrumentation.Properties.Settings>
            <setting name="LogLevel" serializeAs="String">
                <value>DEBUG</value>
            </setting>
            <setting name="AppName" serializeAs="String">
                <value>MyApp</value>
            </setting>
            <setting name="Port" serializeAs="String">
                <!--value>33333</value-->
                <value>0</value>
            </setting>
        </Tools.Instrumentation.Properties.Settings>
    </configuration>    
Run Code Online (Sandbox Code Playgroud)

但是,当我创建一个类似的条目时Web.config,我收到错误:

无法识别的配置部分applicationSettings

我的两部分问题:

  • 如何使此配置条目有效Web.config
  • 在哪里可以阅读WinForms配置和ASP.Net配置之间的概念差异?

xr2*_*0xr 56

您的配置文件只是缺少applicationSettings部分组:

<configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
        <section name="Tools.Instrumentation.Properties.Settings" 
                 type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
                 requirePermission="false" />
    </sectionGroup>
</configSections>
Run Code Online (Sandbox Code Playgroud)

如果添加,可以将"设置"部分放在标记内,并且程序集应该正常读取.

  • 我有一种预感,这是一个更好的答案. (6认同)
  • 它的确是。接受了。 (2认同)

Sam*_*Sam 5

这是缺少的配置的.NET 4版本:

<configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
        <section name="Tools.Instrumentation.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </sectionGroup>
</configSections>
Run Code Online (Sandbox Code Playgroud)

确保更新<section>name属性值的名称空间以匹配您自己的名称空间。