2013-10-15 67 views
1

我想打開PostgreSQL連接,但得到ReflectionTypeLoadException同時打開連接。ReflectionTypeLoadException在Simple.Data使用PostgreSql

請幫我解決這個問題,通過提供代碼或讓我知道如何刪除這個異常。

代碼我使用至今低於:

**/* Connection String 
    <?xml version="1.0" encoding="utf-8" ?> 
    <configuration> 
     <appSettings> 
     <add key="superuserDatabase" value="postgres"/> 
     </appSettings> 
     <system.data> 
     <DbProviderFactories> 
     <clear/> 
     <add name="Npgsql Data Provider" 
      invariant="Npgsql" 
      description=".Net Framework Data Provider for Postgresql Server" 
      type="Npgsql.NpgsqlFactory, Npgsql" /> 
     </DbProviderFactories> 
    </system.data> 
    <connectionStrings> 
     <add name="Simple.Data.Properties.Settings.DefaultConnectionString" 
      connectionString="host=localhost;port=5432;database=SimpleData;user                  id=postgres;[email protected];pooling=false" 
      providerName="Npgsql" /> 
    <add name="Test" 
      connectionString="host=localhost;port=5432;database=SimpleData;user id=postgres;[email protected];pooling=false" 
      providerName="Npgsql" /> 
    </connectionStrings> 
    </configuration>** 
    */ 

我正在試圖打開在PostgreSQL VAR namedDb = Database.OpenNamedConnection( 「測試」)連接時,以下異常Demo.All()。 ;

ReflectionTypeLoadException

+0

感謝和問候, 維沙爾帕特爾 [email protected] [email protected] –

+0

你真的有在連接字符串「用戶」和「ID」之間的所有這些空間?哦 - 你確定這個錯誤只有一個單詞嗎? –

+0

不,我沒有保留空間..錯誤是「無法加載一個或多個請求的類型。請檢索LoaderExceptions屬性以獲取更多信息。」 –

回答

4

這ReflectionLoadTypeException最常造成的,因爲你正在使用的DLL是不是最新的,因此依賴鏈失敗。使用nuget使用最新的DLL更新您的項目。 PostgreSQL的提供商的v0.16.2.2需要

  • Simple.Data.Core(≥0.12.2.2)
  • Simple.Data.Ado(≥0.12.2.2)
  • Npgsql的(≥2.0.11 )

(通過Mark Rendle)嘗試先顯式安裝Simple.Data.Ado的0.16.2.2,然後安裝Postgres包。

相關問題