Package: libnpgsql2.2-cil Version: 2.2.7+dfsg3-1 Severity: important Tags: patch
Dear Maintainer, To provide DbProviderFactory support, the client component needs to be registered in the machine.config file as well as the GAC. In the machine.config file for each .NET version supported, look for section: <system.data><DbProviderFactories> and add the following: <add name="Npgsql Data Provider" invariant="Npgsql" description=".NET Data Provider for PostgreSQL" type="Npgsql.NpgsqlFactory, Npgsql, Version=2.2.7.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" /> You will see other database entries already there. Attached is a program which tests the entry: mcs -pkg:dotnet TestFactory.cs mono TestFactory.exe Cheers, and thanks! Chris. -- System Information: Debian Release: stretch/sid APT prefers testing APT policy: (990, 'testing'), (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.6.0-1-amd64 (SMP w/8 CPU cores) Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages libnpgsql2.2-cil depends on: ii cli-common 0.9+nmu1 ii libmono-corlib4.5-cil 4.2.1.102+dfsg2-8 ii libmono-security4.0-cil 4.2.1.102+dfsg2-8 ii libmono-system-core4.0-cil 4.2.1.102+dfsg2-8 ii libmono-system-data4.0-cil 4.2.1.102+dfsg2-8 ii libmono-system-ldap4.0-cil 4.2.1.102+dfsg2-8 ii libmono-system-transactions4.0-cil 4.2.1.102+dfsg2-8 ii libmono-system4.0-cil 4.2.1.102+dfsg2-8 libnpgsql2.2-cil recommends no packages. libnpgsql2.2-cil suggests no packages. -- no debconf information
using System; using System.Data; using System.Data.Common; namespace TestFactory { public class Program { const string PROVIDER_ORACLE = "System.Data.OracleClient"; const string PROVIDER_MYSQL = "MySql.Data.MySqlClient"; const string PROVIDER_PSQL = "Npgsql"; public static int Main( string[] args ) { try { ListFactories(); TestFactory( PROVIDER_ORACLE ); // TestFactory( PROVIDER_MYSQL ); TestFactory( PROVIDER_PSQL ); } catch( Exception ex ) { Console.WriteLine( "..exception: " + ex.Message ); } return 0; } static void TestFactory( string name ) { Console.WriteLine( "..test: {0}", name ); DbProviderFactories.GetFactory( name ); Console.WriteLine( " ..works" ); } static void ListFactories() { Console.WriteLine( "..available factories:" ); DataTable dt = DbProviderFactories.GetFactoryClasses(); foreach( DataRow dr in dt.Rows ) { foreach( DataColumn dc in dt.Columns ) { Console.WriteLine( " {0}: {1}", dc.ColumnName, dr[dc] ); } Console.WriteLine(); } } } }