Ich habe eine DLL-Datei mit SIMULINK Embedded Coder erstellt. (Systemzieldatei ist auf: ert_shrlib.tlc festgelegt.) Es wird erfolgreich in Model_win64.dll erstellt. Jetzt möchte ich es von Visual Studios beziehen.Hinzufügen einer nativen DLL-Datei von SIMULINK zu Visual Studios C#
Ich versuchte zunächst, mit dem „add reference“ Werkzeug bekam aber den folgenden Fehler: Ein Verweis auf ‚Dateipfad \ Model_win64.dll‘
ich dann um online für eine Lösung gesucht und diese ist immer Fehler Ursache durch die DLL-Datei eine native DLL ist, so sollte ich die DllImportAttribute Klasse https://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute.aspx
so ist der Code, den ich derzeit
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);
}
}
haben zu verwenden und ich erhalte die Laufzeitfehler: Kann 'Rückgabewert' nicht marshalieren: Ungültige Kombination aus verwalteten/nicht verwalteten Typen. Ich habe versucht, über verwaltete/nicht verwaltete Typen zu lesen, aber ich kann mich einfach nicht darum kümmern, um dieses Problem zu lösen. Alle vorgeschlagenen Lösungen oder Informationen zu verwalteten/nicht verwalteten werden sehr geschätzt.
Können Sie bekommen versuchen, Ihre exe ändern, dass er x64 ist? – tofutim