Я не могу заставить строку подключения Npgsql работать. Я попробовал несколько способов, напримерИсключение Npgsql в строке подключения
NpgsqlConnection conn = new NpgsqlConnection("Server=192.168.1.220;User Id=pgsql;Password=pgsql;Database=pgsql;");
или
var conn = new NpgsqlConnection("Host=192.168.1.220;Username=pgsql;Password=pgsql;Database=pgsql");
и бросает мне исключение:
The type initializer for 'Npgsql.NpgsqlConnectionStringBuilder' threw an exception.
Im работает Windows XP 64bit с VS 2010. Я уже пробовал для соединения с этой машиной с моим сервером pgsql с использованием ODBC или pgAdmin III - оба работают нормально.
Возможно, эта проблема связана с моей установкой Npgsql? я не смог установить его с NuGet, потому что я получил следующую ошибку:
PM> Install-Package Npgsql Installing 'Npgsql 3.2.1'. Successfully installed 'Npgsql 3.2.1'. Adding 'Npgsql 3.2.1' to Project. Uninstalling 'Npgsql 3.2.1'. Successfully uninstalled 'Npgsql 3.2.1'. Install failed. Rolling back... Install-Package : Could not install package 'Npgsql 3.2.1'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.0,Profile=Client', but the packag e does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author. At line:1 char:16 + Install-Package <<<< Npgsql + CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand
Я пытался также для переключения целевой рамки 4.0 или 3.5, но результат был точно таким же. Итак, я установил Npgsql, просто извлекая DLL из MSI-установки, а затем загрузив его в качестве ссылки.
Кто-нибудь знает, как заставить строку подключения работать?
Из вашего исключения установки nuget, похоже, вы пытаетесь установить Npgsql в проект .NET Framework 4.0 - это не поддерживается. Самая низкая поддерживаемая версия - 4.5. –
Если вы все еще получаете исключение в приложении .NET 4.5 (или более поздней версии), разместите полное исключение, которое вы получаете, включите полную трассировку стека и любые внутренние исключения. Невозможно узнать, что происходит, просто «Инициализатор типа выбросил исключение». –
Кажется, что проблема была такой же, как и вы, но мне нужен .NET 4.0, чтобы он запускался на WinXP, поэтому я решил свою проблему, переключившись с Npgsql на базовую библиотеку pgsql Devart. Спасибо. – geosys