Windows-kernel32-Funktionen in Mono auf Linux

Habe ich diese sehr einfache ini-Klasse, die ich heruntergeladen habe von irgendwo eine Weile her, aber jetzt, dass ich mit mono hab ich, läuft in das Problem, dass es Import-Sachen von kernel32

[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section,
    string key, string val, string filePath);
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section,
            string key, string def, StringBuilder retVal,
    int size, string filePath);

Welche auf mono (in linux) gibt den Fehler DLLNotFoundException: kernel32

Gibt es eine Möglichkeit zu bekommen dies funktioniert mit mono? Vielleicht Betten Sie die ganze Sache in der Versammlung zur compile-Zeit (falls das überhaupt sinnvoll ist, ich weiß es nicht). Oder werde ich haben zu erstellen/zu finden, eine ini-Klasse, der nicht mit WinAPI? (Nini Federn in den Sinn).

Ich würde wirklich, wie es ist, wenn WinAPI-Sachen arbeiten konnte, mit Mono -, irgendwelche Gedanken?

  • Gut, das ist nicht zur Arbeit zu gehen, natürlich. Sie benötigen zu bleiben Weg von diesen apis sowieso, Sie sind schrecklich teuer und nicht unterstützen konsistente string-Kodierung. Xml verwenden.
  • Könnte es sein, dass Mono-und Kleinschreibung beachtet? Versuchen Sie, importieren Kernel32, mit einem Kapital K.
  • Ich nehme Ihren Rat an und verschieben von xml für zukünftige Projekte, aber ich würde gerne wissen, ob es alle Weise um WinAPI Funktionen in Mono-unabhängig. Ich muss quick-fix einige persönliche-Anwendungen, die wirklich nicht 'verdienen' daran gearbeitet werden, lange genug, um loszuwerden, der WinAPI-Abhängigkeit. So dreckig, weit-aus-optimale Korrekturen sind willkommen. Wenn es unmöglich ist, dann bin ich nur Pech, aber ich würde gerne wissen, für sicher 😉
  • Nur um zu überprüfen, man läuft Mono unter Windows, richtig? Mono bringt auch nicht die Win32-API mit, die es auf anderen Plattformen (Wein macht, aber das könnte ein heikles integration). Und wenn Sie auf Windows laufen, warum bist du mit Mono-statt der MS CLR?
  • Nein, ich bin nicht mit mono unter windows, bei mir läuft es auf linux.. wahrscheinlich sollte ich erwähnt haben, dass -.-
InformationsquelleAutor natli | 2012-07-22
Schreibe einen Kommentar