【发布时间】:2016-05-28 03:19:07
【问题描述】:
我有一个使用 Windows 窗体的 .NET 3.5 应用程序,因此引用 System.Drawing 2.0.0.0。在 mono 3.8 和 Monodevelop 5 下,该解决方案编译良好,可以在安装了 .NET 3.5 的 Windows 或 Wine 下运行。
但是,使用 Mono 4.2 和 Monodevelop 5 以及相同的解决方案和源代码,编译的可执行文件无法像以前一样运行,因为它们声明它们需要 System.Drawing 4.0.0.0(无法加载文件或程序集 'System.Drawing,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a')。为了兼容性,应用程序需要保留在 .NET 3.5 上。 (有关信息:使用 .NET 4.5 安装 wine 仍然无法运行此可执行文件,但使用 .NET 4 线程功能的单独测试可执行文件运行正常。
我可以从 http://www.mono-project.com/docs/about-mono/releases/4.0.0/ 的 mono 4 的发行说明中看到,第 4 版是一个主要的新版本。从单核的 RPM 信息来看,3.8 版的 RPM 似乎同时提供 System.Drawing 2.0.0.0 和 System.Drawing 4.0.0.0,而单核 4.2 只有 RPM 提供 System.Drawing 4.0.0.0。所以也许这就是问题的根源。
所以我无法生成所需的已编译可执行文件。降级单声道是不可取的,因为版本 4 中还有其他一些有用的更改。
是否有人有任何进一步的信息或知道此问题的任何解决方法?
谢谢
【问题讨论】:
标签: c# .net mono monodevelop