2013-09-23 5 views
5

Ich versuche, ein einfaches Programm mit MonoGame in Xamarin Studio 4.0.10 (Build 5) zu erstellen. Aber wenn ich versuchen, einige Texturen Content.Load Methode zu laden, erhalte ich eine Ausnahme System.MissingMethodException mit einer NachrichtWie MissingMethodException während Content.Load <Texture2D> in Xamarin Studio auf MacOS X zu beheben?

Method not found: 'MonoMac.AppKit.NSImage.AsCGImage'. 

Die tatsächlichen Zeilen Code ich verwende, sind:

protected override void LoadContent() 
{ 
    //some stuff here 

    Texture2D freezeTexts = new Texture2D[5]; 
    for (int i = 0; i < 5; i++) { 
     freezeTexts[i] = Content.Load<Texture2D>("freeze"+i); // exception here 
    } 

    //some other stuff here 
} 

ich einige googeln tat und fand heraus, dass dies aufgrund einiger API-Änderungen passiert, die Xamarin Studio noch nicht implementiert hat (zumindest habe ich das verstanden). Meine Frage ist also: Wie kann ich dieses Problem beheben?

Antwort

6

Sie können Monomac aus der neuesten Quelle kompilieren, um die API auf den neuesten Stand zu bringen.

Es ist ziemlich einfach - das blog hat einige gute Anweisungen.

EDIT

Es scheint, Sie zurück in der Zeit mit MonoMac gehen muß eine Version kompatibel mit der aktuellen Version von monogame (das ist ziemlich alt - 3.0.1 am 6. März 2013 veröffentlicht wurde) zu erhalten.

Es könnte besser sein, MonoGame selbst aus der Quelle zu kompilieren. Ich schaffte es, dies zu tun, indem ich ihre repo Fork gab und die MonoGame.Framework.MacOS Lösung kompilierte.

Verweise auf die Baugruppe, die anstelle der freigegebenen MonoGame.Framework.dll ermöglicht meine Test-App zu erstellen und zu starten.

+0

Ich folgte den Anweisungen, um MonoMac.dll zu kompilieren, dann habe ich das als Referenz auf ein Projekt anstelle von bestehenden MonoMac hinzugefügt, aber ich habe immer noch die gleiche Ausnahme. Ich hoffe, ich muss nur ein bestimmtes Commit zum Aufbau finden? –

+0

@AntonGuryanov Siehe meine Bearbeitung. Ich weiß nicht, ob dies die empfohlene Lösung ist oder nicht, aber es sollte Sie zum Laufen bringen – TheNextman

+1

Danke, jetzt funktioniert es! Nur um zu erwähnen, es ist nicht notwendig, ihre Repo Gabel, nur klonen und bauen. –

Verwandte Themen