无法加载文件或程序集'System.Drawing,Version = 4.0.0.0

时间:2013-08-09 15:38:40

标签: c# .net macos xamarin.ios monogame

我安装了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 个答案:

答案 0 :(得分:5)

如果您参考了使用Xamarin.iOS附带的程序集,则会发生此类错误。这就是System.Drawing.dll的情况。

在您的情况下,可能是因为您的项目引用了monotouch.dllMonoMac.dll,但这不会起作用。

您需要为每个目标构建单独的项目,即一个用于iOS(monotouch.dll)和一个用于OSX(MonoMac.dll)。

您可以从每个项目共享源代码和/或程序集(用于共享逻辑)。这两个项目还需要包含特定于平台的代码和参考。

你最终得到了许多共享代码(在源代码或程序集中),并带有一些特定于平台的代码。

答案 1 :(得分:0)

我遇到了同样的问题,上述建议对我没有用,所以我做了以下几点:

打开你的项目
转到解决方案资源管理器
展开参考组
删除System.Drawing参考
右键单击参考组
添加参考文献
在“.NET”选项卡上,搜索System.Drawing以添加正确的引用