在部署的matlab dll中无法使用.NET方法

时间:2016-04-29 06:24:17

标签: c# .net matlab dll matlab-deployment

使用Matlab Compiler SDK我可以将我的Matlab代码部署到可以在C#应用程序中加载的dll中。 现在我还要使用NET.addAssembly matlab命令在我的Matlab代码中添加一个.NET引用。如果我在Matlab中运行我的代码,我可以访问我导入的类的方法。不幸的是,如果我编译我的Matlab代码(使用添加的.net引用)来获得我常用的dll,那么我在matlab代码中导入的.net类的方法似乎再也看不到了(matlab会抛出错误“No类'MyNameSpace.MyClass'的适当方法,属性或字段'MyMethodName'“。 有人可以帮助我吗?非常感谢。

PS:有一个.NET项目引用一个引用另一个c#dll的Matlab编译的dll,这似乎很奇怪。原因是我需要在c#中转换我的所有(大)Matlab项目,我想逐步完成,但不会影响主要的(C#)应用程序。

1 个答案:

答案 0 :(得分:1)

错误是由主应用程序中有一个具有相同名称和相同命名空间的类(即MyNameSpace.MyClass)引起的。这似乎隐藏了我从Matlab加载的程序集上定义的类。

我更改了我在Matlab中加载的类的命名空间的名称,现在它可以正常工作。