Я хочу сохранить строку подключения базы данных для своих тестов интеграции в качестве секретности пользователя. Моя project.json выглядит следующим образом:Как использовать секреты пользователя в тестовом проекте ядра dotnet
{
...
"dependencies": {
...
"Microsoft.Extensions.Configuration.UserSecrets": "1.1.0"
},
"tools": {
"Microsoft.Extensions.SecretManager.Tools": "1.1.0-preview4-final"
},
"userSecretsId": "dc5b4f9c-8b0e-4b99-9813-c86ce80c39e6"
}
Я добавил следующий конструктору мой тестовый класс:
IConfigurationBuilder configurationBuilder = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.AddUserSecrets();
Однако, когда я запускаю тесты следующего исключение, когда она попадет что линия:
An exception of type 'System.InvalidOperationException' occurred in Microsoft.Extensions.Configuration.UserSecrets.dll but was not handled in user code
Additional information: Could not find 'UserSecretsIdAttribute' on assembly 'dotnet-test-nunit, Version=3.4.0.0, Culture=neutral, PublicKeyToken=null'.
Я что-то пропустил или что я пытаюсь не поддерживать?
Этот просто кажется, что мне рассказывают, как использовать секреты в проекте ASP.NET, и это не то, что я здесь делаю. У меня уже есть отдельный веб-проект, в котором я успешно использую секреты, о чем я спрашиваю, это тестовый проект библиотеки классов. –
Извините, я забыл, что один, я посмотрю, есть ли решение для этого. – kloarubeek
этот должен сделать трюк :-). Я думаю, вы забыли copyToOutput. – kloarubeek