【问题标题】:Could not load file or assembly 'System.Drawing, Version=4.0.0.0无法加载文件或程序集'System.Drawing,版本 = 4.0.0.0
【发布时间】:2013-08-09 15:38:40
【问题描述】:
我安装了 Monogame,但在尝试运行一个非常简单的 hello world 风格的游戏时,我遇到了这个异常。我知道有几篇关于堆栈溢出的帖子关于这个错误,但我仍然对如何解决这个问题感到困惑。我是否需要卸载 .Net 并重新安装其他版本?如果是这样,我该怎么做?
抛出了 System.IO.FileNotFoundException。
无法加载文件或程序集 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。
这是 Xamarin 项目的可下载链接:
https://www.dropbox.com/s/q7quw26lg1etdts/MonoGameTester.zip
【问题讨论】:
标签:
c#
.net
macos
xamarin.ios
monogame
【解决方案1】:
如果你引用了不 Xamarin.iOS 附带的程序集,则会发生此类错误。 System.Drawing.dll 就是这种情况。
在您的情况下,这可能是因为您的项目同时引用了 monotouch.dll 和 MonoMac.dll,而这不起作用。
您需要为每个目标构建单独的项目,即一个用于 iOS (monotouch.dll),一个用于 OSX (MonoMac.dll)。
您可以从每个项目共享源代码和/或程序集(用于共享逻辑)。这两个项目还需要包含特定于平台的代码和参考。
您最终会得到大量共享代码(在源代码或程序集中)以及一些特定于平台的代码。
【解决方案2】:
我遇到了同样的问题,上面的建议对我没有用,所以我做了以下:
打开你的项目
转到解决方案资源管理器
展开参考组
删除 System.Drawing 引用
右键单击参考组
添加参考
在“.NET”选项卡上,搜索 System.Drawing 以添加正确的引用