如何将Mono GTK#app移植到其他平台?

Seb*_*ank 3 c# mono gtk# monodevelop xsp2

我正在研究用C#编写的Mono GTK#桌面应用程序.我在Mac(OS X v10.6.7)上使用MonoDevelop IDE(v2.4.2)开发了我的应用程序.我的应用程序依赖于GTK#库(显然)以及Mono.WebServer2用于运行本地ASP.NET服务器的库.

我已经在我自己的Mac以及其他Mac上测试了我的应用程序.一切都很好.现在,我有兴趣将我的应用程序移植到其他平台(特别是Windows 7和Ubuntu v11.04).我一直在玩这个mkbundle命令但是我没有运气为Mac OS X以外的其他平台创建工作包.

由于我尝试了许多不同的解决方案但没有成功,我想听听那里的Mono开发人员.如何将应用程序移植到其他平台?

我一直在使用Visual Studio开发C#,但我是Mono开发环境的新手.因此,我非常感谢详细的解释.

非常感谢你!

Mik*_*son 6

这听起来并不像是在谈论移植,而是包装.MonoDevelop的"项目/创建包"功能可以创建简单的二进制包(拉链等)或源包(源和生成文件),但这些不是分发给大多数最终用户的理想形式.为每个平台制作抛光安装程序需要一些额外的工作.

mkbundle将Mono运行时捆绑到您的应用程序中,因此它会创建100%特定于平台的二进制文件.

对于Mac,分发应用程序的常用方法是作为应用程序包.MonoDevelop不会为GTK#项目自动化,但我在博客上解释了如何做到这一点.

对于Ubuntu,您可以分发一个二进制文件的zip,并要求您的用户安装Mono,GTK#和xsp.如果创建.deb包,则可以将这些依赖项嵌入到包清单中.MonoDevelop没有任何创建deb/rpm linux软件包的工具,我自己也不熟悉这个过程.

对于Windows,您可以提供双列压缩文件,并要求您的用户安装.NET和GTK#for .NET.您还可以创建一个msi安装程序并让它检查这些先决条件.