NHibernate中未识别的配置节applicationSettings

9
我正在使用流畅的NHibernate。
我有一个app.config文件,其中包含一些特定的键(applicationSettings和userSettings)。
似乎nhibernate不喜欢这些键。只要这些键存在于文件中,Fluently.Configure()就会失败,并抛出具有消息“Unrecognized configuration section applicationSettings”的异常。
我该怎么办?
以下是config文件:
<?xml version="1.0"?>
<configuration>
  <connectionStrings>
    <add name="MyDB" connectionString="Data Source=|DataDirectory|\MyDB.sdf" providerName="Microsoft.SqlServerCe.Client.3.5" />
</connectionStrings>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
  <applicationSettings>
        <MyApp.Properties.Settings>
            <setting name="ServerIp" serializeAs="String">
                <value>127.0.0.1</value>
            </setting>
            <setting name="ServerPort" serializeAs="String">
                <value>5678</value>
            </setting>
            <setting name="UseSSL" serializeAs="String">
                <value>True</value>
            </setting>
            <setting name="WsUrl" serializeAs="String">
                <value/>
            </setting>
        </MyApp.Properties.Settings>
    </applicationSettings>
    <userSettings>
        <MyApp.Properties.Settings>
            <setting name="User" serializeAs="String">
                <value>test</value>
            </setting>
            <setting name="Password" serializeAs="String">
                <value>test</value>
            </setting>
        </MyApp.Properties.Settings>
    </userSettings>
</configuration>

谢谢!

请发布您的完整配置文件。您可能只是没有正确格式化您的配置文件。 - Cole W
1个回答

24

您的错误消息基本上是对的,而且与NHibernate无关:配置需要知道它将提供哪些ConfigSections,而您没有指定。 这不应该发生,难道VS为您创建了app.config吗?

<?xml version="1.0"?>
<configuration>
  <configSections>
    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
      <section name="MyApp.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
    </sectionGroup>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
      <section name="MyApp.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </sectionGroup>
  </configSections>
  <userSettings>
    <!--...-->
  </userSettings>
  <applicationSettings>
    <!--...-->
  </applicationSettings>
</configuration>
如果你想了解 Configuration 如何工作的更多背景,可以先阅读这篇文章

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接