我正在使用最新版本的 azure functions 3.0.1 和 .net core 3.1。(下面的问题看起来很熟悉,但它并没有帮助我创建一个新的Azure 函数运行时异常,系统数据 sqlclient 异常的类型初始化程序,无法加载 DLL 'sni.dll')
我想在这里提一下,同样的代码适用于 azure function 2 和 .net core 2.2
另一个重要信息是我正在使用 NHibernate,执行 cfg.BuildSessionFactory(); 时出现此错误;命令。
运行时错误是:
启动操作“3756a542-87f8-43dd-a977-fbf87c7597d1”期间发生主机错误。[12/11/2019 5:17:42 AM] System.Data.SqlClient:“System.Data.SqlClient.TdsParser”的类型初始化程序引发了异常。System.Data.SqlClient:“System.Data.SqlClient.SNILoadHandle”的类型初始化程序引发异常。System.Data.SqlClient:无法加载 DLL“sni.dll”或其依赖项之一:找不到指定的模块。(0x8007007E)。
这是 .csproj 文件的一部分。
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<AzureFunctionsVersion>v3</AzureFunctionsVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.Functions.Extensions" Version="1.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.1.0" />
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.1" />
</ItemGroup>
此外,添加了以下包而不是 system.data.sqlclient 作为解决方案,但都给出了相同的错误。
<PackageReference Include="Microsoft.Data.SqlClient" Version="1.1.0" />
我已按照此链接https://dev.to/azure/develop-azure-functions-using-net-core-3-0-gcm中的所有内容来建立一个新项目。