在开发模式下,我在本地计算机VS2017 15.7.5上使用
我建立了一个单独的项目,该项目用于从Vault中获取机密,添加日志记录和其他内容。我从我的MVC项目中引用了该项目。
启动网站后,我得到:
Exception thrown: 'System.IO.FileLoadException' in Microsoft.AspNetCore.Hosting.dll
我无法追踪。
{编辑:我发现了这一点,它是CSPROJ
中的错误参考。其他所有内容都保持不变。}
我这样实例化一个AzureServiceTokenProvider
:
_provider = new AzureServiceTokenProvider();
_client = new KeyVaultClient(new KeyVaultClient
.AuthenticationCallback(_provider.KeyVaultTokenCallback));
然后我像这样使用它:
try
{
var secretBundle = await _client
.GetSecretAsync(_config[$"{SecretUrlsKey}:{secretName}"])
.ConfigureAwait(false);
Debug.WriteLine("Secret retrieved from vault ...");
_secretCache.Add(secretName, secretBundle.Value);
return secretBundle?.Value;
}
catch (Exception e)
...
然后,我收到一连串的错误(没有一个错误返回到我的代码中)。像这样:
Exception thrown: 'Microsoft.Rest.TransientFaultHandling.HttpRequestWithStatusException' in Microsoft.Rest.ClientRuntime.dll
Exception thrown: 'Microsoft.Rest.TransientFaultHandling.HttpRequestWithStatusException' in System.Private.CoreLib.dll
Exception thrown: 'System.Net.Sockets.SocketException' in System.Private.CoreLib.dll
Exception thrown: 'System.Net.Http.HttpRequestException' in System.Net.Http.dll
Exception thrown: 'System.Net.Http.HttpRequestException' in System.Private.CoreLib.dll
Exception thrown: 'System.Net.Http.HttpRequestException' in System.Private.CoreLib.dll
Exception thrown: 'System.Net.Http.HttpRequestException' in System.Net.Http.dll
Exception thrown: 'System.Net.Http.HttpRequestException' in System.Private.CoreLib.dll
Exception thrown: 'System.Net.Http.HttpRequestException' in System.Private.CoreLib.dll
Exception thrown: 'System.Net.Http.HttpRequestException' in System.Private.CoreLib.dll
Exception thrown: 'System.Net.Http.HttpRequestException' in System.Net.Http.dll
Exception thrown: 'System.Net.Http.HttpRequestException' in System.Private.CoreLib.dll
Exception thrown: 'Microsoft.Azure.Services.AppAuthentication.AzureServiceTokenProviderException' in Microsoft.Azure.Services.AppAuthentication.dll
Exception thrown: 'Microsoft.Azure.Services.AppAuthentication.AzureServiceTokenProviderException' in System.Private.CoreLib.dll
Exception thrown: 'Microsoft.Azure.Services.AppAuthentication.AzureServiceTokenProviderException' in System.Private.CoreLib.dll
最终,我得到了我想要的价值,但这似乎有点不可思议。
FWIW,我将其部署到Azure的成功率为零。
有人对此有任何想法吗?
TIA
答案 0 :(得分:0)
关于第二个问题,这是在两台不同的机器上发生的。没有真正的科学分析(没有时间),我的直觉是,允许您在安装时运行VS的dotnet核心更新导致了问题。
最后,我使用了Visual Studio Installer
修复选项,问题消失了。某些东西一定已损坏。
别忘了备份您的扩展程序和设置,因为修复会破坏所有这些。
清除和重新安装Nuget程序包无济于事。