Не удалось загрузить файл или сборку «System.Drawing, версия = 4.0.0.0».

Я установил Monogame, и при попытке запустить очень простую игру в стиле hello world я получаю это исключение. Я понимаю, что есть несколько сообщений о переполнении стека, касающихся этой ошибки, но я все еще озадачен тем, как это исправить. Нужно ли удалять .Net и переустанавливать другую версию? Если да, то как мне это сделать?

Возникло исключение System.IO.FileNotFoundException. Не удалось загрузить файл или сборку «System.Drawing, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a» или одну из ее зависимостей.

Вот загружаемая ссылка на проект Xamarin:

https://www.dropbox.com/s/q7quw26lg1etdts/MonoGameTester.zip


person LampShade    schedule 09.08.2013    source источник


Ответы (2)


Такие ошибки будут возникать, если у вас есть ссылки на сборки, которые не поставляются с Xamarin.iOS. Это касается System.Drawing.dll.

В вашем случае это, вероятно, потому, что в вашем проекте есть ссылки как на monotouch.dll, так и на MonoMac.dll, и это не сработает.

Вам нужно создать отдельные проекты для каждой цели, т. е. один для iOS (monotouch.dll) и один для OSX (MonoMac.dll).

Из каждого проекта вы можете поделиться исходным кодом и/или сборками (для общей логики). Оба проекта также должны включать специфичный для платформы код и ссылки.

В итоге вы получаете много общего кода (в исходном коде или сборках) с несколькими битами кода, специфичными для платформы.

person poupou    schedule 09.08.2013

Я столкнулся с той же проблемой, и приведенное выше предложение не сработало для меня, поэтому я сделал следующее:

Откройте свой проект
Перейдите в обозреватель решений
Разверните группу ссылок
Удалите ссылку System.Drawing
Щелкните правой кнопкой мыши группу ссылок
Добавьте ссылку
На вкладке ".NET" , найдите System.Drawing, чтобы добавить правильную ссылку

person NG.    schedule 20.10.2014