NpgsqlConnectionStringBuilder не содержит определения PasswordAsSecureString
Создаю консольное приложение на C# для работы с БД PostgreSQL с помощью пакета Npgsql. Пароль вводится из консоли и передаётся в конструктор класса Database в виде SecureString из встроенной библиотеки System.Security.
В классе Database создаётся экземпляр класса NpgsqlConnectionStringBuilder у которого должно быть свойство PasswordAsSecureString, но компилятор говорит, что его нет.
using Npgsql;
using System.Security;
// Класс для работы с базой данных
class Database : IDisposable
{
// Поле для хранения объекта подключения
private NpgsqlConnection conn;
// Конструктор класса, который принимает параметры подключения
public Database(string host, int port, string username, SecureString password, string database)
{
// Создаем объект NpgsqlConnectionStringBuilder с параметрами подключения
NpgsqlConnectionStringBuilder builder = new NpgsqlConnectionStringBuilder();
builder.Host = host; // адрес сервера
builder.Port = port; // порт сервера
builder.Database = database; // имя базы данных
builder.Username = username; // имя пользователя
builder.PasswordAsSecureString = password; // пароль в виде SecureString
// Создаем объект подключения
conn = new NpgsqlConnection(builder);
conn.Open();
}
}
Файл проекта
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Npgsql" Version="7.0.4" />
</ItemGroup>
</Project>
Текст ошибки
Серьезность Код Описание Проект Файл Строка Состояние подавления Ошибка CS1061 "NpgsqlConnectionStringBuilder" не содержит определения "PasswordAsSecureString", и не удалось найти доступный метод расширения "PasswordAsSecureString", принимающий тип "NpgsqlConnectionStringBuilder" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку). TestDB D:\!!!E\CSharp\TestDB\TestDB\Database.cs 21 Активные
(Код по большей части сгенерирован нейросетью. Если такого свойства не существует, то хотелось бы узнать об альтернативных решениях данной проблемы.)