8

我使用流利的NHibernate。NHibernate中無法識別的配置節applicationSettings

我有一個app.config文件,幾個特定的​​鍵(applicationSettings和userSettings)。

看來,nhibernate不喜歡這些鍵。只要文件中存在這些密鑰,Fluently.Configure()就會失敗,並且會拋出一條帶有消息Unrecognized configuration section applicationSettings的異常。

我該怎麼辦?

下面是配置文件:

<?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> 

謝謝!

+0

發佈您的完整配置文件。你可能只是沒有正確格式化你的配置文件。 –

+0

完成。感謝您的回覆。 – Programatic

回答

19

您的錯誤消息非常現場,與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> 

如果你想一開始就配置是如何工作的進一步背景,read this

相關問題