为UBUNTU打包.NET桌面应用程序。

可以将.NET应用程序打包为.DEB软件包,并包含MONO运行时,以便在UBUNTU上自动安装并运行软件吗?

1你不需要在你的软件包中包含Mono运行时,你只需要将mono-runtime软件包作为你的软件包的依赖项进行指定。否则,打包一个.Net应用程序与打包其他任何应用程序没有区别。 - Sergey
1个回答

是的,可以将.NET应用程序打包成deb包,并且您可以告诉它依赖于mono,以便在未安装时进行安装。
最好的方法是使用xbuild来构建您的mono应用程序。这是我的debian规则文件中的行,用于我的mono应用程序widemargin。
#!/usr/bin/make -f

include /usr/share/cli-common/cli.make

override_dh_auto_build:
    xbuild $(CURDIR)/WideMargin.sln /p:Configuration=Release

然后在您的控制文件中添加以下行:
Depends: ${cli:Depends}, ${misc:Depends}

这将自动计算您的依赖关系(包括mono)并为您指定它们。
结果是,当您安装Deb时,如果尚未安装mono,它将被安装。
如果您需要进一步了解如何打包mono应用程序的debian,则最好的地方是在IRC OFTC服务器上的#debian-cli。这些人负责debian中的mono打包,并且非常友好和乐于助人。

有没有一份逐步指南,适合新手学习如何做这件事? - Ahmed Osama Ibrahim
找不到。 - trampster