Simple.Data中的ReflectionTypeLoadException使用PostgreSql

时间:2013-10-15 12:52:35

标签: asp.net postgresql system.reflection simple.data

我正在尝试打开PostgreSQL连接但在打开连接时遇到ReflectionTypeLoadException。

请通过提供代码帮助我解决此问题,或者让我知道如何删除此异常。

我目前使用的代码如下:

  **/* 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;password=P@ssw0rdsa;pooling=false"
           providerName="Npgsql" />
    <add name="Test"
          connectionString="host=localhost;port=5432;database=SimpleData;user    id=postgres;password=P@ssw0rdsa;pooling=false"
          providerName="Npgsql" />
     </connectionStrings>
   </configuration>**
   */

尝试在POSTGRESQL中打开连接时遇到异常 var namedDb = Database.OpenNamedConnection(“Test”)。Demo.All();

ReflectionTypeLoadException

1 个答案:

答案 0 :(得分: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)首先尝试显式安装0.16.2.2的Simple.Data.Ado,然后安装Postgres包。