C# 未能加载SNI.dll

C# 未能加载SNI.dll,c#,entity-framework,ado.net,C#,Entity Framework,Ado.net,我在C#中开发了一个Web Api项目,在这里我使用实体框架,在localhost中执行该项目时,它工作正常。在将此项目传递给开发环境的IIS时,它也起作用,但当我将其传递给QA环境的IIS时,我出现以下错误: { "Message": "An error has occurred.", "ExceptionMessage": "The type initializer for 'Microsoft.Data.SqlClient.TdsParser' threw an excep

我在C#中开发了一个Web Api项目,在这里我使用实体框架,在localhost中执行该项目时,它工作正常。在将此项目传递给开发环境的IIS时,它也起作用,但当我将其传递给QA环境的IIS时,我出现以下错误:

{
    "Message": "An error has occurred.",
    "ExceptionMessage": "The type initializer for 'Microsoft.Data.SqlClient.TdsParser' threw an exception.",
    "ExceptionType": "System.TypeInitializationException",
    "StackTrace": "   at ConsultaCuentaCupon_Api.Controllers.ConsultaCuponClienteController.<Post>d__0.MoveNext() in C:\\Users\\nflores\\source\\repos\\ConsultaCuentaCupon-Api\\ConsultaCuentaCupon-Api\\Controllers\\ConsultaCuponClienteController.cs:line 53\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Threading.Tasks.TaskHelpersExtensions.<CastToObject>d__1`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n   at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n   at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__15.MoveNext()",
    "InnerException": {
        "Message": "An error has occurred.",
        "ExceptionMessage": "The type initializer for 'Microsoft.Data.SqlClient.SNILoadHandle' threw an exception.",
        "ExceptionType": "System.TypeInitializationException",
        "StackTrace": "   at Microsoft.Data.SqlClient.TdsParser..cctor() in E:\\agent1\\_work\\34\\s\\src\\Microsoft.Data.SqlClient\\netfx\\src\\Microsoft\\Data\\SqlClient\\TdsParser.cs:line 156",
        "InnerException": {
            "Message": "An error has occurred.",
            "ExceptionMessage": "The type initializer for 'Microsoft.Data.SqlClient.SNINativeMethodWrapper' threw an exception.",
            "ExceptionType": "System.TypeInitializationException",
            "StackTrace": "   at Microsoft.Data.SqlClient.SNINativeMethodWrapper.SNIInitialize()\r\n   at Microsoft.Data.SqlClient.SNILoadHandle..ctor() in E:\\agent1\\_work\\34\\s\\src\\Microsoft.Data.SqlClient\\netfx\\src\\Microsoft\\Data\\SqlClient\\TdsParserSafeHandles.cs:line 31\r\n   at Microsoft.Data.SqlClient.SNILoadHandle..cctor() in E:\\agent1\\_work\\34\\s\\src\\Microsoft.Data.SqlClient\\netfx\\src\\Microsoft\\Data\\SqlClient\\TdsParserSafeHandles.cs:line 16",
            "InnerException": {
                "Message": "An error has occurred.",
                "ExceptionMessage": "Failed to load C:\\inetpub\\wwwroot\\CuponCliente-API\\bin\\x64\\SNI.dll",
                "ExceptionType": "System.ComponentModel.Win32Exception",
                "StackTrace": "   at Microsoft.Data.SqlClient.SNINativeMethodWrapper..cctor() in E:\\agent1\\_work\\34\\s\\src\\Microsoft.Data.SqlClient\\netfx\\src\\Microsoft\\Data\\Interop\\SNINativeMethodWrapper.cs:line 66"
            }
        }
    }
}
{
“消息”:“发生错误。”,
“ExceptionMessage”:“Microsoft.Data.SqlClient.TdsParser”的类型初始值设定项引发了异常。”,
“ExceptionType”:“System.TypeInitializationException”,
“StackTrace”:“在ConsultacuteAcupon\u Api.Controllers.ConsultacuponClient.d\u 0.MoveNext()上”在C:\\Users\\nflores\\source\\repos\\consultacupon Api\\consultacupon Api\\Controllers\\ConsultaCuponClienteController.cs中:第53行\r\n--从引发异常的上一个位置开始的堆栈结束跟踪---\r\n在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()处\r\n在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\r\n在System.Threading.Tasks.TaskHelperExtensions.d_u1`1.MoveNext()\r\n---从引发异常的上一个位置开始的堆栈结束跟踪---\r\n在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\r\n在System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n在System.Web.Http.Controllers.ApiControllerActionInvoker.d_1.MoveNext()上\r\n---从引发异常的上一个位置开始的堆栈结束跟踪---\r\n在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\r\n在System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n位于System.Web.Http.Controllers.ActionFilterResult.d\u 5.MoveNext()\r\n--来自引发异常的上一个位置的堆栈结束跟踪---\r\n位于System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n位于System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务)\r\n位于System.Web.Http.Dispatcher.HttpControllerDispatcher.d_u15.MoveNext()“,
“内部异常”:{
“消息”:“发生错误。”,
“ExceptionMessage”:“Microsoft.Data.SqlClient.SNILoadHandle”的类型初始值设定项引发了异常。”,
“ExceptionType”:“System.TypeInitializationException”,
“StackTrace”:“在E:\\agent1\\\\U work\\34\\s\\src\\Microsoft.Data.SqlClient\\netfx\\src\\Microsoft\\Data\\SqlClient\\TdsParser.cs:第156行中的Microsoft.Data.SqlClient.TdsParser..cctor()处”,
“内部异常”:{
“消息”:“发生错误。”,
“ExceptionMessage”:“Microsoft.Data.SqlClient.SnNativeMethodWrapper”的类型初始值设定项引发了异常。”,
“ExceptionType”:“System.TypeInitializationException”,
“StackTrace”:“在Microsoft.Data.SqlClient.SnInNativeMethodWrapper.SNIInitialize()\r\n在Microsoft.Data.SqlClient.SNILoadHandle..ctor()中,在E:\\agent1\\\\ U work\\34\\s\\src\\Microsoft.Data.SqlClient\\netfx\\src\\Microsoft\\Data\\SqlClient\\TdsParserSafeHandles.cs:Microsoft.Data.SqlClient.SNILoadHandle..()中的第31行\r\n在E:\\agent1\\\\u work\\34\\s\\src\\Microsoft.Data.SqlClient\\netfx\\src\\Microsoft\\Data\\SqlClient\\TdsParserSafeHandles.cs中:第16行“,
“内部异常”:{
“消息”:“发生错误。”,
“ExceptionMessage”:“未能加载C:\\inetpub\\wwwroot\\cuponClient API\\bin\\x64\\SNI.dll”,
“ExceptionType”:“System.ComponentModel.Win32Exception”,
“StackTrace”:“在E:\\agent1\\\\U work\\34\\s\\src\\Microsoft.Data.SqlClient\\netfx\\src\\Microsoft\\Data\\Interop\\SNINativeMethodWrapper.cs:第66行中的Microsoft.Data.SqlClient.SNINativeMethodWrapper..cctor()处”
}
}
}
}

一直在寻找这个错误及其可能的解决方案,我尝试了几种解决方案,但错误仍然存在。如果任何人已经通过了这个,我将非常感谢您的帮助。

< P>我必须在服务器上安装“微软Visual C++ +2015-2019可重新分发”(X64在我的案例中),在那里它没有与您提到的错误消息一起工作。

也,请参阅这个讨论线程:对我来说不起作用,甚至没有重启。