.Net调用Matlab

在经历了Matlab的卸载、安装、破解失败、卸载、安装、破解成功、安装多版本Runtime重复、卸载多版本Runtime、安装匹配版本Runtime的一天后。
我的WinForm窗体程序终于能引用MWArray.dll了。
遇到的几个问题,注解这在这里。

  1. 昨天上午我用的是Matlab R2014a版本,以前一直用这个版本交大作业,主要是跑数据存图,虽然发现过一些问题,但是不大影响我使用,但是昨天想把.m文件打包成dll失败后,我终于对这一版放弃了希望。
    下午一鼓作气卸载了2014a,改装了2015b,注意一定要 破解、注册,按顺序来,不要在安装的时候就导入注册文件,一定要退出去,先破解,然后再启动Matlab,导入注册文件。
    这一点不多说了,百度讲的挺详细。
    2015b版本长得跟2014a没什么太大区别,在命令行使用deploytool指令,按照网上说的一步一步生成dll文件即可。

  2. 今天的问题又来了,导入了MWArray.dll文件后,我的VisualStudio(版本2010 )根本无法对MWNumericArray类型的数据赋值,所有的构造函数都会报错

““MathWorks.MATLAB.NET.Arrays.MWNumericArray”的类型初始值设定项引发异常。”

看了几篇文章,要你注册这儿注册那儿,搞了半天也没搞出来。最后还是更改了Debug选项中的“解决方案平台”。
由于Matlab Runtime Compiler通常是和Matlab匹配的(我自己的是64位版本),所以要求解决方案平台也不能是其他版本(例如“Any CPU”或“x86”)。
更改Debug按钮旁边的解决方案平台,使它与Matlab Runtime Compiler匹配,MWArray.dll中的类都可以正常使用了。

    原文作者:佳期未阑
    原文地址: https://www.jianshu.com/p/1bc9fe098dbc
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞