如何在 Ubuntu 16.04 上使用 MonoDevelop 开发 Windows 窗体应用程序?

如何在 Ubuntu 16.04 上使用 MonoDevelop 开发 Windows 窗体应用程序?

目的:在Linux上运行用VS2005编写的Win32 .Net2.0 Forms应用程序。我已经尝试过以下方法:

  1. 我已经按照此链接安装了 Monorun-net-2-0-applications-for-win

并尝试运行它 - >我最终得到了警告,例如:

WARNING: The runtime version supported by this application is unavailable.

使用默认运行时:v4.0.30319

和未处理的异常: Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=969db8053d3322ac, Retargetable=Yes' or one of its dependencies. File name: 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=969db8053d3322ac, Retargetable=Yes' [ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=969db8053d3322ac, Retargetable=Yes' or one of its dependencies. File name: 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=969db8053d3322ac, Retargetable=Yes' 2.然后我在 VS2015 中使用 app.config 文件创建了“Hello world”简单的 Windows 窗体应用程序,其中包含:

<configuration>
<startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>

编译了它,并在 ubuntu 上使用 MonoDevelop 运行它。我成功了,但出现了与上面相同的警告,尽管<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />

与我对自己说的不同,让我们尝试调试该过程并看看该应用程序缺少什么。

我尝试了 3 个不同的调试器(winedbg、IDA 和 mono --debug),并决定尝试使用后者,因为文档简单易懂。按照文档说明,我发现只有当程序在“MonoDevelop”中开发并在“调试”模式下编译或在Windows中开发并在MonoDevelop中成功编译时,才能使用Mono Develop调试器工具。

当我尝试编译该应用程序时,我与该应用程序的所有引用都不匹配,我花了一些时间安装:

sudo apt-get install libmono-system-windows-forms4.0-cil

获取 System *.dll 的.. 当我完成并尝试再次编译时,我收到了数百个错误,指出 Mono 无法识别 Microsoft 常见目标文件类型,如对象、整数、双精度等。

现在我迷路了,我需要你的帮助。如何在 Linux 上运行 Windows 窗体应用程序 gui?或调试过程成功?

非常感激,

相关内容