错误来由
由于项目需要,在.NET Framework web api接口程序中写了一个接口(版本4.7.2),引用了由matlab compiler生成的dll文件,
在本机调试的过程中,也遇到了一些x64、x86的问题,也顺利的解决了,但是发布到服务器上IIS部署之后,调用该接口就会报错。
错误信息贴在文章的最后!
所涉及到的dll文件的信息
dll文件名 | 类名 | 方法名称 | 说明 |
---|---|---|---|
SavePictureByDeformation | Class1 | SavePictureByDeformation | 无 |
自我分析的过程
- 1、在网上查了好多资料,都没有发现太相似的问题,我这边matlab dll是由matlab R2020a版本生成的dll文件,我所用的编辑器是VS2019,
- 2、在服务器上我也安装了对应版本matlab R2020a run time(9.8运行时)。但是也没有效果
- 3、发布版本我分别设置为Any CPU、x64、x86,但都是同样的报错
内心想法
- 1、是不是安装的matlab运行时没有起作用?如何让其起作用,环境变量需要做处理吗?
- 2、是不是服务器上也需要安装matlab对应版本的正式版,只有一个run time运行时不起作用?
有没有xdm来一起讨论一下啊,或是哪位佬看到了,帮忙解解惑啊,不胜感激
有没有xdm来一起讨论一下啊,或是哪位佬看到了,帮忙解解惑啊,不胜感激
有没有xdm来一起讨论一下啊,或是哪位佬看到了,帮忙解解惑啊,不胜感激
错误信息为:
{
"Message": "出现错误。",
"ExceptionMessage": "“SavePictureByDeformation.Class1”的类型初始值设定项引发异常。",
"ExceptionType": "System.TypeInitializationException",
"StackTrace": " 在 SavePictureByDeformation.Class1..ctor()\r\n
在 BridgeExpoWebApi.Controllers.summaryController.PostStartCalculate(Object req) 位置
E:\\BridgeExpoWebApi\\Controllers\\summaryController.cs:行号 104\r\n
在 lambda_method(Closure , Object , Object[] )\r\n
在 System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_2.<GetExecutor>b__2(Object instance, Object[] methodParameters)\r\n
在 System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)\r\n
--- 引发异常的上一位置中堆栈跟踪的末尾 ---\r\n
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
在 System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__1.MoveNext()\r\n
--- 引发异常的上一位置中堆栈跟踪的末尾 ---\r\n
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
在 System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__5.MoveNext()\r\n
--- 引发异常的上一位置中堆栈跟踪的末尾 ---\r\n
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n
在 System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__15.MoveNext()",
"InnerException": {
"Message": "出现错误。",
"ExceptionMessage": "“MathWorks.MATLAB.NET.Utility.MWMCR”的类型初始值设定项引发异常。",
"ExceptionType": "System.TypeInitializationException",
"StackTrace": " 在 SavePictureByDeformation.Class1..cctor()",
"InnerException": {
"Message": "出现错误。",
"ExceptionMessage": "Trouble initializing libraries required by .NET Assembly.\n",
"ExceptionType": "System.Exception",
"StackTrace": " 在 MathWorks.MATLAB.NET.Utility.MWMCR..cctor()"
}
}
}
2021-11-05 11:25:23 星期五