2013-09-23 20 views
5

Tôi đang cố tạo một chương trình đơn giản với MonoGame trong Xamarin Studio 4.0.10 (bản dựng 5). Nhưng khi tôi cố gắng tải một số kết cấu sử dụng Content.Load phương pháp, tôi nhận được một ngoại lệ System.MissingMethodException với một thông điệpCách sửa lỗi MissingMethodException trong khi Content.Load <Texture2D> trong Xamarin Studio trên MacOS X?

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

Các dòng thực tế của mã tôi đang sử dụng là:

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 
} 

tôi đã làm một số googling và phát hiện ra rằng điều này xảy ra vì một số thay đổi API, Xamarin Studio vẫn chưa triển khai (ít nhất đó là những gì tôi hiểu). Vì vậy, câu hỏi của tôi là: Làm thế nào tôi có thể khắc phục vấn đề này?

Trả lời

6

Bạn có thể biên dịch monomac từ nguồn mới nhất, để cập nhật API.

Khá đơn giản - điều này blog có một số hướng dẫn tốt.

EDIT

Có vẻ như bạn cần phải đi ngược thời gian với monomac để có được một phiên bản tương thích với phiên bản hiện tại của MonoGame (mà là khá cũ - 3.0.1 được phát hành vào ngày 06 Tháng ba 2013).

Có thể tốt hơn khi biên dịch MonoGame từ nguồn. Tôi đã thực hiện điều này bằng cách giả mạo repo của họ và biên dịch giải pháp MonoGame.Framework.MacOS.

Tham chiếu cụm từ này được tạo ra thay cho số phát hành MonoGame.Framework.dll cho phép ứng dụng thử nghiệm của tôi xây dựng và khởi chạy.

+0

Tôi đã làm theo hướng dẫn để biên dịch MonoMac.dll, sau đó tôi đã thêm tài liệu này làm tham chiếu đến dự án thay vì MonoMac hiện tại, nhưng tôi vẫn có ngoại lệ tương tự. Tôi hy vọng tôi chỉ cần tìm một cam kết cụ thể để xây dựng? –

+0

@AntonGuryanov Xem chỉnh sửa của tôi. Tôi không biết nếu đây là giải pháp được đề xuất hay không, nhưng nó sẽ giúp bạn và chạy – TheNextman

+1

Cảm ơn, bây giờ nó đang làm việc! Chỉ cần đề cập đến, nó là không cần thiết để ngã ba repo của họ, chỉ cần nhân bản và xây dựng. –

Các vấn đề liên quan