8

Akıcı NHibernate kullanıyorum.Tanınmayan yapılandırma bölüm uygulaması NHibernate uygulamasında ayarlamalar

Birkaç özel anahtarla (applicationSettings ve userSettings) bir app.config dosyası var.

Görünüşe göre nhibernate bu anahtarları beğenmiyor. Bu anahtarlar dosyada bulunduğu sürece, Fluently.Configure() başarısız olur ve Tanınmayan yapılandırma bölümü applicationSettings iletisiyle birlikte bir istisna atılır.

Ne yapabilirim?

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

teşekkür ederiz:

İşte yapılandırma dosyasıdır!

+0

Tüm yapılandırma dosyanızı gönderin. Muhtemelen config dosyanızı düzgün biçimlendirmediniz. –

+0

Bitti. Cevabın için teşekkürler. – Programatic

cevap

19

Hatanız İleti hemen hemen yerinde ve NHibernate ile ilgisi yok: Yapılandırma, belirttiğiniz ConfigSections öğelerinin ne olduğunu bilmesi gerekiyor. Bu olmamalı, VS sizin için app.config dosyasını oluşturdu mu?

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

bir başlangıç ​​için yapılandırma nasıl çalıştığı hakkında daha fazla arka plan, read this istiyorum.

İlgili konular