如何在 Windows 中为 Visual Studio 项目创建 Debian 安装包?
-
08-06-2019 - |
题
我正在 Visual Studio 下开发一些针对 Mono 的跨平台软件,并且希望能够通过单击按钮来构建 Windows 和 Linux(特别是 Ubuntu)的安装程序。我想我可以通过在构建后事件中调用 cygwin 来实现这一点,但我希望最多能有一个 Visual Studio 插件,最坏的情况是有一个更 Windows 原生的方式来实现这一点。看起来包格式相当简单,这一定是一个常见的需求。
编辑:由于重复登录问题,在其他帐户下重新询问问题。
解决方案
我不知道有任何插件本身可以做到这一点,特别是因为 Mono 用户似乎更喜欢 单一开发.
但是,应该可以使用 Cygwin 和自定义 MSBuild 任务或批处理文件,以便通过使用本机 .deb 创建工具来实现这一目标。
其他提示
Debian 的 .deb 软件包只是包含 tarball 的“ar”档案。您可以使用 cygwin 或 msys 非常轻松地操作这两种类型的文件:
$ ar xv asciidoc_8.2.1-2_all.deb
x - debian-binary
x - control.tar.gz
x - data.tar.gz
$ tar -tzf control.tar.gz
./
./conffiles
./md5sums
./control
或者你可以使用 cygwin 安装所有“标准”Debian 的东西,我想,但是如果你无论如何都要构建一个 .Net 应用程序,那么大多数东西不会给你带来多大的好处。
这一定是一个共同的需求。
一小部分软件开发人员针对 .NET 进行开发
该群体中的一小部分人开发了单声道
该群体中的一小部分人希望提供 .debs 而不仅仅是 zip
该群体中的一小部分人希望在 Windows 上构建他们的 Linux 应用程序,而不是在 Linux 上原生构建
这只是你:-)
如果您使用.NET Core SDK,则可以使用 dotnet 包装 用于从运行 .NET Core 的任何平台创建 Debian 安装程序包的工具。
例如,运行 dotnet deb -c Release -f netcoreapp2.1 -r ubuntu.16.04-x64
然后会创建一个 .deb
您可以使用该文件在 Ubuntu 16.04 上安装应用程序。
项目存储库有更多详细信息。
如果您不介意使用 Java 工具,可以使用以下命令构建 Debian 软件包 杰德布 在 Ant 脚本中。这可能比依赖 Cygwin 更轻松。