2013-09-23 20 views
5

Sto provando a creare un semplice programma con MonoGame in Xamarin Studio 4.0.10 (build 5). Ma quando provo a caricare alcune texture utilizzando Content.Load metodo, ricevo un'eccezione System.MissingMethodException con un messaggioCome risolvere MissingMethodException durante Content.Load <Texture2D> in Xamarin Studio su MacOS X?

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

Le linee attuali di codice che sto usando sono:

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 
} 

ho fatto un po 'googling e ho scoperto che questo accade a causa di alcune modifiche API, che Xamarin Studio non ha ancora implementato (almeno questo è quello che ho capito). Quindi la mia domanda è: come posso risolvere questo problema?

risposta

6

È possibile compilare monomac dall'ultima fonte, per aggiornare la API.

È piuttosto semplice: questo blog ha alcune buone istruzioni.

EDIT

Sembra avete bisogno di andare indietro nel tempo con monomac per ottenere una versione compatibile con la versione corrente di MonoGame (che è piuttosto vecchio - 3.0.1 è stato rilasciato il 6 marzo 2013).

Potrebbe essere meglio compilare MonoGame direttamente dal sorgente. Sono riuscito a farlo biforcando il loro repo e compilando la soluzione MonoGame.Framework.MacOS.

Il riferimento all'assieme che questo produce al posto del MonoGame.Framework.dll rilasciato consente alla mia app di test di creare e avviare.

+0

Ho seguito le istruzioni per compilare MonoMac.dll, quindi ho aggiunto questo come riferimento a un progetto anziché a MonoMac esistente, ma ho ancora la stessa eccezione. Spero di aver solo bisogno di trovare uno specifico commit da costruire? –

+0

@AntonGuryanov Vedi la mia modifica. Non so se questa è la soluzione consigliata o no, ma dovrebbe farti funzionare e funzionare – TheNextman

+1

Grazie, ora funziona! Solo per citare, non è necessario bifare il loro repo, basta clonare e costruire. –