【发布时间】:2021-11-28 02:19:33
【问题描述】:
我已经在 Visual Studio 中创建了一个样板函数应用程序,它显然可以正常工作,但是,在添加 NuGet 包依赖项“Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider”并构建/运行 HTTP 触发器函数后应用程序,我收到以下控制台错误:
“启动操作期间发生主机错误”。 System.Private.CoreLib:无法加载文件或程序集 'Microsoft.Extensions.Logging.Abstractions,版本=5.0.0.0, 文化=中性,PublicKeyToken=''。系统找不到文件 指定。”
经过一段时间的研究,似乎一个简单的解决方法是将以下内容添加到我的 .csproj 中:
<_FunctionsSkipCleanOutput> true </_FunctionsSkipCleanOutput>
虽然,现在我遇到了以下我无法克服的错误:
我可能弄错了,但从我的研究来看,.NetCore 3.1(Azure 函数应用程序)不能很好地与 AlwaysEncrypted.AzureKeyVaultProvider 配合使用。
对此的任何帮助将不胜感激!
【问题讨论】:
-
请参考这里也讨论过同样的问题,也有解决方法:github.com/Azure/Azure-Functions/issues/744
-
感谢您的回复,拉胡尔。从 2018 年开始,这种不必要的工作已经过时了。但是,我能够找到简单地降级 Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider 包的解决方案。我最初认为这是导致问题的这个依赖包,但由于 NetCore 5 要求(我正在 3.1 中开发),导致问题的是提供程序包(版本 3.0)。
标签: azure-functions azure-sql-database azure-keyvault sqlclient always-encrypted