Инициализатор типа для Npgsql.PoolManager вызвал исключение - PullRequest
0 голосов
/ 12 ноября 2018

Получение этого исключения "Инициализатор типа для 'Npgsql.PoolManager' вызвал исключение."только в окне 7.

public string ValidateDefaultInstancePostgreSqlServer()
    {
        string found = "0";

        try
        {
            using (NpgsqlConnection postGresConnection = new NpgsqlConnection())
            {
                postGresConnection.ConnectionString = "Server=localhost;Port=5432;Database=postgres;User Id=postgres;Password=postgre123;Pooling=true;MinPoolSize=1;MaxPoolSize=100;Command Timeout=600;Timeout=600;";
                using (NpgsqlCommand checkDBCommand = postGresConnection.CreateCommand())
                {
                    postGresConnection.Open();

                    found = "1";
                }
            }
        }
        catch (Exception e)
        {}

Примечание: тот же код отлично работает в окне 10. Запуск этой функции из установки installsheild.Пожалуйста, помогите.

1 Ответ

0 голосов
/ 13 ноября 2018

Я решил проблему, обновив System.ValueTuple.dll до последней версии. Проблема заключалась в несовместимости между Npgsql.dll и System.ValueTuple.dll.

Думаю, если бы мы добавили ссылки из nuget, проблема бы не возникла на первом месте. но странно, что это произошло только на 7-ми или 32-х битной машине.

...