MonoDevelop:MonoMac和GTK#的同一项目可能吗?

时间:2012-08-12 20:13:51

标签: mono monodevelop gtk#

也许我的问题完全是问题,这就是为什么我无法通过谷歌或其他方式找到任何信息的原因 - 但是,我认为值得在这里提问。

我想开发一个C#应用程序,它在Mac和Windows中表现得很自然(Linux也很好,但不是直接需要的)。我的主要开发操作系统应该是Mac OS X,因此我想使用MonoDevelop。

我可以为MonoMac设置一个项目 - 工作正常。 我可以为GTK#设置一个不同的项目 - 工作正常。

我现在的问题是,我需要做些什么来获得一个可能有MonoMac和GTK#-frontend的项目。所以我将使用MVC模式,并希望在一个项目中工作。因此,构建我的项目将导致Mac可执行文件(基于MonoMac的东西)和一个Windows可执行文件(基于GTK#)。

我的方法完全错了吗? 我需要做些什么来实现我的目标?

1 个答案:

答案 0 :(得分:5)

是的,对于在每个平台上具有最佳外观的多平台应用程序,每个平台需要一个可执行文件。使用MVC方法是最好的方法 - 您可以拥有一个包含所有共享代码的库项目的解决方案 - 模型,处理代码,业务逻辑等 - 以及包含平台的每个“前端”可执行文件的项目 - 具体观点和外壳。

如果Windows上真正优秀的本机体验优先于Linux支持,我建议使用WPF或Windows Forms而不是GTK#。这意味着您必须在Windows和MacOS之间拆分开发 - 您需要在Windows上的Visual Studio,SharpDevelop或MonoDevelop中打开相同的项目,并在那里编辑WPF / WinForms项目和共享库。

OTOH,GTK#的优点是你可以开始编写一个可以在所有三个平台上运行的前端,然后再编写特定于平台的前端。