Из кода, упомянутого в вопросе, не было объяснено, если вы написали правильную конфигурацию для Azure хранилища ключей, которое будет чем-то стандартным, как показано ниже, надеюсь, вы добавили это.
var azureServiceTokenProvider = new AzureServiceTokenProvider();
var keyVaultClient = new KeyVaultClient(
new KeyVaultClient.AuthenticationCallback(
azureServiceTokenProvider.KeyVaultTokenCallback));
config.AddAzureKeyVault(
vaultConfig.AzureVaultUrl,
keyVaultClient,
new DefaultKeyVaultSecretManager());
Также для чтения сложного объекта из хранилища ключей я бы предложил написать что-то вроде следующего:
services.AddSingleton<EmailSettingsModel >(sp =>
{
var resultJson = Configuration.GetSection("AzureKeyVaultEmail").Value;
return JsonConvert.DeserializeObject<EmailSettingsModel>(resultJson);
});
Также, как я вижу в этом вопросе, строка ниже не выглядит как валидат json формат:
MailServer:smtp.gmail.com; MailPort:587; SenderName:SenderName; Sender:the.sender@gmail.com;
Пожалуйста, измените его в допустимом формате, и он должен работать.
Надеюсь, это поможет.