C# Mono4使用System.Drawing 4.0.0.0构建.NET3.5应用程序。需要使用Drawing 4.0.0.0,如何防止?

C# Mono4使用System.Drawing 4.0.0.0构建.NET3.5应用程序。需要使用Drawing 4.0.0.0,如何防止?,c#,.net,mono,monodevelop,C#,.net,Mono,Monodevelop,我有一个.NET3.5应用程序,它使用Windows窗体,因此引用了System.Drawing 2.0.0。在Mono3.8和Monodevelop 5下,此解决方案编译良好,可以在Windows或Wine下运行,并安装.NET3.5 但是,使用Mono4.2和Monodevelop 5以及相同的解决方案和源代码,编译的可执行文件无法像以前一样运行,因为它们声明需要System.Drawing 4.0.0.0(无法加载文件或程序集'System.Drawing,Version=4.0.0.0,

我有一个.NET3.5应用程序,它使用Windows窗体,因此引用了System.Drawing 2.0.0。在Mono3.8和Monodevelop 5下,此解决方案编译良好,可以在Windows或Wine下运行,并安装.NET3.5

但是,使用Mono4.2和Monodevelop 5以及相同的解决方案和源代码,编译的可执行文件无法像以前一样运行,因为它们声明需要System.Drawing 4.0.0.0(无法加载文件或程序集'System.Drawing,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a'的例外)。为了兼容性,应用程序需要保留在.NET 3.5上。(仅供参考:安装了.NET 4.5的wine仍无法运行此可执行文件,但使用.NET 4线程功能的单独测试可执行文件运行正常)

我可以从Mono4的发行说明中看出,Release4是一个主要的新版本。从mono core的RPM信息来看,3.8版RPM将同时提供System.Drawing 2.0.0和System.Drawing 4.0.0,而mono 4.2版RPM仅提供System.Drawing 4.0.0。所以这也许是问题的根源

因此,我无法生成所需的已编译可执行文件。降级mono是不可取的,因为在版本4中还有其他一些有用的更改

是否有人有任何进一步的信息或了解此问题的任何解决方法


感谢从Mono 4.0开始,正如您所指出的,他们放弃了对4.0以上版本的.NET的支持,以减轻维护负担

它仍将运行.NET3.5和2.0(和1.0?)应用程序,但您无法使用Mono4.x构建它们

我的建议是让您的官方构建机器安装Mono3.8