C# Simple.Data.PostgreSql';NpgsqlTypes.BitString';找不到

C# Simple.Data.PostgreSql';NpgsqlTypes.BitString';找不到,c#,postgresql,npgsql,C#,Postgresql,Npgsql,从NuGet安装Npgsql和Simple.Data.PostgreSql后,然后使用以下代码: var connectionString = ConfigurationManager.ConnectionStrings["runningJournal"].ConnectionString; var db = Database.OpenConnection(connectionString); var userId = db.user.Insert(userName: "foo").userId

从NuGet安装
Npgsql
Simple.Data.PostgreSql
后,然后使用以下代码:

var connectionString = ConfigurationManager.ConnectionStrings["runningJournal"].ConnectionString;
var db = Database.OpenConnection(connectionString);
var userId = db.user.Insert(userName: "foo").userId;
我得到一个例外:

System.TypeLoadExceptionCould not load type 'NpgsqlTypes.BitString'
    from assembly 'Npgsql, Version=3.0.4.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7'.
at Simple.Data.PostgreSql.TypeMap..cctor()

我假设这是
Simple.Data.PostgreSql
的问题,因为从
Npgsql
访问数据库工作正常。这是一个bug,还是我需要手动添加其他依赖项?也许还有别的什么吗?

npgsql2.x有一个NpgsqlTypes.BitString类型,它在3.0中被删除,使用了.NET内置的。您使用的
Simple.Data.PostgreSql
版本似乎是针对Npgsql 2.x编译的,但不知何故,您在项目中使用的是Npgsql 3.0。请确保您使用的是Npgsql 2.2.7而不是3.0.x,并让
Simple.Data.PostgreSql
项目知道如何发布一个与Npgsql 3.0兼容的新版本。

太棒了,谢谢Shay!Npgsql 2.2.7、Simple.Data.Ado 0.19.0.0和Simple.Data.PostgreSql 0.17.0.0的组合最终对我起了作用。