SIMULINKのエンベデッドコーダーを使用して.dllファイルを作成しました。 (システムのターゲットファイルはert_shrlib.tlcに設定されています)Model_win64.dllに正常にビルドされます。今私はVisualスタジオからそれを参照したいと思います。SIMULINKからVisual Studioにネイティブの.dllファイルを追加するC#
私は最初の「参照を追加」ツールを使用してみましたが、次のエラーました:への参照を「ファイルパス\ Model_win64.dll」
私はその後、オンラインソリューションの周りを検索し、このことを取得していますエラーは、だから、コード、私が現在持っている
using System;
using System.Runtime.InteropServices;
namespace GUI_Interface
{
class Main
{
[DllImport("Modbot_Model_win64.dll", CharSet = CharSet.Unicode)]
public static extern int[] MPC(double x, double y, double theta, double Vx, double Vy, double Vtheta);
public static BackgroundWorker test()
{
ints = MPC(0, 0, 0, 0, 0, 0);
}
}
であり、私が得るネイティブの.dllはので、私はDllImportAttributeクラス
を使うべきであること.dllファイルによって原因ですランタイムエラー:「戻り値」をマーシャリングできません:管理対象/非管理対象の型の組み合わせが無効です。私は管理型/アンマネージ型を読み込もうとしましたが、この問題を解決するために私の周りを頭で囲むことはできません。マネージド/アンマネージドに関する提案されたソリューションや情報は、非常に高く評価されます。
を取得するにはマーシャルのコピーを使用できますか? – tofutim