记录asp.net 开发的网站实现c#调取Matlab生成的dll文件。

功能需求:利用Matlab强大的数字处理能力和网页的丰富多彩的显示特点将MatLab处理的结果以web形式显示出来。

环境:系统win10(64位),集成开发环境(VS2017 专业版),Matlab R2016a(64位)

       在这里就不介绍了matlab怎样生成dll文件了,因为不同的Matlab版本的界面不一样,但是这里需要强调的如果Matlab是64位,就会默认生成64位的dll文件,如果是32位,则会默认生成32位的dll文件。如果博友知道64位Matlab的生成32位dll的方法,请留言,万分感谢。下面给有几个Matlab生成dll的连接。

版本:MatlabR 2017a    将.m文件生成dll文件

版本:Matlab R2014a   MATLAB和VS混合编程

        在这里需要强调的是,什么样开发平台,如果不进行额外设置的话,就会形成什么样dll或者exe的文件,例如64位的MatLab会生成64位的dll或exe文件,32位的Matlab会生成32位的dll或exe文件。如果需要补充一些关于x64,x86以及AnyCPU之类的知识的,可以参考下面的两个别人的博客。

关于.NET编译的目标平台(AnyCPU,x86,x64)

关于VS项目平台的x86,x64,Any CPU以及Debug和Release

      在创建好dll文件之后,就需要在c#项目中引用刚生成的dll文件,关于C#调取Matlab的dll文件步骤,大家可以从参考下面的博客

visual studioC#调用MATLAB生成的DLL

     关于博客visual studioC#调用MATLAB生成的DLL中的内容,需要强调的是:

  1.     添加MWArray.dll
  2.   配置管理器中,要将平台配置与MCR版本一致,MCR版本实际上也就是你生成dll的版本,是32位的就选择x86,是64位就选择x64,默认的AnyCPU,它的意思就是平台取决于操作系统。

      通过以上的分析,本人发现,自己的开发环境是没有问题的,为什么还是会提醒什么“xxx”的类型初始值引发异常等错误。 后来在一篇博客中看到,对于asp.net开发网站,需要进行如下设置:

                               

      后来想了想,这样设置是有道理的,因为在找bug过程中,我曾将我的利用C#开发的窗体应用程序调取Matlab生成的dll文件,默认的还是有问题的,后来将解决方案属性>生成>目标平台的设置由AnyCPU改成x64之后就可以运行了。但是我在Asp.NET中,并没有发现这样的设置,然后就不知道怎么弄了,突然看到了一篇博客,说在ASP.NET开发的项目中,在工具>选项找到上图中的设置,并且将红线部分,选中就可以了。到这里才发现,对于Web项目,是在这里修改类似于窗体应用程序的目标平台。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值