В последние дни я пытался создать пользовательские секреты в консоли приложения в c#, но не смог создать секрет файла.
В итоге я последовал за этим руководством и наконец смог создать секрет. xml. Но когда я попытался прочитать данные из секретного файла. xml, он выдал мне эту ошибку:
Thrown exception: 'System.Configuration.ConfigurationErrorsException' in System.Configuration.dll
An unhandled exception of type 'System.Configuration.ConfigurationErrorsException' occurred in System.Configuration.dll
An error occurred while loading a configuration file: Unable to load the file or assembly 'Microsoft.Configuration.ConfigurationBuilders.UserSecrets, Version = 1.0.0.0, Culture = neutral' or one of its dependencies. The specified file can not be found.
Сначала я смог прочитать данные пароля из файла конфигурации, но когда я попытался прочитать его из секретного файла, это, кажется, не беспокоило.
Решение попыталось: - удалил ссылку на UserSecrets, затем добавил его снова, используя Nuget.
Вот мой код: нажмите здесь
App.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="configBuilders" type="System.Configuration.ConfigurationBuildersSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" restartOnExternalChanges="false" requirePermission="false"/>
</configSections>
<configBuilders>
<builders>
<add name="Secrets" userSecretsFile="c:\\secrets\\secret.xml" type="Microsoft.Configuration.ConfigurationBuilders.UserSecretsConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.UserSecrets, Version=1.0.0.0, Culture=neutral"/>
</builders>
</configBuilders>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
</startup>
<appSettings configBuilders="Secrets">
<add key="password" value="This is a password placeholder"/>
</appSettings>
</configuration>
Program.cs:
static void Main(string[] args)
{
var password = ConfigurationManager.AppSettings["password"];
Console.WriteLine($"Password is {password}");
}