我是C#的初学者,我最近构建了一个Windows窗体应用程序GUI,它执行MATLAB函数的方式与给出的答案here大致相同。所以基本上使用Process.Start方法在后台运行MATLAB函数。
这适用于32位编译的MATLAB函数,但是将函数编译为64位可执行文件会导致从WFA GUI执行时出错 - “找不到MCR版本8.2。尝试加载mclmcrrt8_2 .DLL“。
如果我在WFA GUI之外运行已编译的函数,我没有问题。因此,似乎WFA无法执行64位进程,是否有针对此的解决方法?
感谢您的帮助。
答案 0 :(得分:1)
您不能在同一台计算机上安装MATLAB和MCR,并且始终在已部署的应用程序上运行。
如果安装了x32和x64 MCR,我没有运气,但你可以安装不同版本的MCR,虽然这不是最佳选择。
如果你有一个部署了MATLAB的x64 MCR,你必须在c#app中使用x64。
这没有明确记录,根据我的经验,这些是基于COM DLL,x32 .NET程序集和x64 C ++共享库的相同MATLAB基础。