我安装了Monogame,当我尝试运行一个非常简单的hello世界风格的游戏时,我得到了这个例外 . 我知道有关此错误的堆栈溢出有几个帖子,但我仍然对如何解决这个问题感到困惑 . 我是否需要卸载.Net并重新安装其他版本?如果是这样,我该怎么做?
抛出了System.IO.FileNotFoundException . 无法加载文件或程序集'System.Drawing,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一 .
这是Xamarin项目的可下载链接:
https://www.dropbox.com/s/q7quw26lg1etdts/MonoGameTester.zip
2 回答
如果您引用了与Xamarin.iOS一起发送 not 的程序集,则会发生此类错误 . 这是
System.Drawing.dll
的情况 .在你的情况下,这很可能是因为你的项目引用了
monotouch.dll
和MonoMac.dll
并且这不会起作用 .您需要为每个 target 构建单独的项目,即一个用于iOS(monotouch.dll)和一个用于OSX(MonoMac.dll) .
从每个项目中,您可以共享源代码和/或程序集(用于共享逻辑) . 这两个项目还需要包含特定于平台的代码和参考 .
您最终会得到许多共享代码(在源代码或程序集中),并带有一些特定于平台的代码 .
我遇到了同样的问题,上面的建议对我没用,所以我做了以下几点:
打开你的项目
转到解决方案资源管理器
展开“引用”组
删除System.Drawing引用
右键单击“引用”组
添加参考
在".NET"选项卡上,搜索System.Drawing以添加正确的引用