を使用Matlab Compiler SDK私はMatlabコードをC#アプリケーションでロード可能なdllにデプロイできます。 今、matlabコマンドNET.addAssemblyを使用して、Matlabコードに.NET参照を追加します。 Matlabでコードを実行すると、私がインポートしたクラスのメソッドにアクセスできます。残念ながら、Matlabコードをコンパイルすると(追加された.net参照)、通常のDLLを持っているようです。私のMATLABコードでインポートした.netクラスのメソッドはもう見えません。(matlabはエラー "No "MyNameSpace.MyClass"クラスの適切なメソッド、プロパティ、またはフィールド 'MyMethodName' "。 私に助けをすることができる人はいますか?ありがとう前もって。ありがとう。その理由は、別のC#dllを参照するMatlabのコンパイルされたdllを参照しているからです。その理由は、私の(大きな)Matlabプロジェクトをac#に変換する必要があるためです。配備されたmatlab dllで.NETメソッドを使用できません
2
A
答えて
1
エラーは、同じ名前のクラスがあるという事実によって引き起こされます。主アプリケーション内の同じ名前空間(すなわち、 MyNameSpace.MyClass)。これは、私がMatlabからロードするアセンブリで定義されているクラスを隠しているようです。
Matlabで読み込んだクラスの名前空間の名前を変更しました。
関連する問題
- 1. .NET DLLをColdFusionで使用するために配備しますか?
- 2. IISにDLLとして.Net Coreを配備 - コマンドラインでプロセスを開始できませんでした "dotnet" site.dll '
- 3. .NET 2.0 Webサイトで.net 3.5 DLLを使用できますか?
- 4. .NETからGlassFishで生成されたWSDLを使用できません
- 5. .net Remotingを使用できません。
- 6. クルーズコントロールを使用した.Net配備の自動化.Net
- 7. .NETアプリケーションでDLLを使用
- 8. [R]で.Net DLLを使用
- 9. /OPTで.NETにC++ DLLをロードできません:NOREF
- 10. Pythonで.NET dllを使用
- 11. mongoose、node、user.model.jsで定義されたメソッドを使用できません。
- 12. .Net Reactive Extensionsを利用した配備
- 13. オーバーロードされたメソッド値[subscribe]を適用できません
- 14. "Office.context.document.customXmlParts.addAsync"メソッドを使用できません
- 15. mysqlndメソッドを使用できません
- 16. DLL 'OraOps12.dllをロードできません
- 17. 配備されたスパークジョブサーバエラーを起動できません。org.slf4j.LoggerFactoryが見つかりません。
- 18. 管理されたdllをasp.net Webアプリケーションで使用した後にこれを削除できません
- 19. addChildメソッドを使用できません
- 20. clearInterval()メソッドを使用できません
- 21. ネストされた静的クラスでは拡張メソッドは使用できません。
- 22. matlabでDLLを作成し、これらのDLLを.Netアプリケーションで使用する方法
- 23. Laravelメソッドは使用できません
- 24. DllがGACに配備されていない - SharePoint 2013、Visual Studio 2012、.Net FW 4.5
- 25. wpf以外のプロジェクトでDLLを使用できません
- 26. Matlabで修正された配列を使用したプロット。
- 27. .dllファイルは利用できません
- 28. getWindow()メソッドは使用できません
- 29. Google APIで.NET DLLを使用できます
- 30. RoRアプリを配備するときにバンドルできません
私は同じ種類の操作(matlabコードから手作りの.netアセンブリを呼び出して、この最後のものをコンパイルします)を実行していますが、問題はありません。すべてのアセンブリファイルをコンパイルプロセス(matlabコンパイラオプションの '-a')に追加して、それらが最後にコンパイルされたものですか?非常に可能性がある場合は、オブジェクトをインスタンス化することができますし、メソッドが見つかりませんは、コンパイルされたMATLABコードに関連付けられている最後にコンパイルされたアセンブリではないということです。 – CitizenInsane
@CitizenInsane Matlabのドキュメンテーションから分かっているところでは、-aオプションは依存関係解析関数( 'depfun')によって自動的に見つけられないファイルに対してのみ必要です。特に、-aオプションを使用して、MEX-ファイル、DLL、または共有ライブラリのすべての依存関係を追加する必要があります。しかし、私のdllには依存性がないので、-aオプションを追加する必要はありません。 'NET.AddAssembly'はdllへの絶対パスを必要とするので、プロダクションPC上の同じ場所にdllを置くだけでよいのです。実際、エラーの原因は異なっていました(私の解決策参照)。 – Homer1982
@CitizenInsane「ホームメイド」の.netアセンブリをデバッグするために、メインアプリケーションのプロセスにアタッチすることもできますか? – Homer1982