我正在Visual Studio下开发一些针对Mono的跨平台软件,并且希望能够通过单击按钮来构建Windows和Linux(特别是Ubuntu)的安装程序。我想我可以通过从后期构建事件中调用cygwin来做到这一点,但我希望充其量只是一个Visual Studio插件,或者更糟糕的是更多的Windows本地方式。看起来封装格式相当简单,这必须是常见的需求。
编辑:由于重复登录问题,在其他帐户下重新提问。
我不知道有任何插件可以原生,特别是因为Mono用户似乎更喜欢MonoDevelop。
但是,应该可以使用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而不仅仅是拉链 该组中的一小部分人希望在Windows上构建他们的Linux应用程序,而不是在Linux上本地构建
这只是你:-)
如果您使用.NET Core SDK,则可以使用dotnet-packaging工具从运行.NET Core的任何平台创建Debian安装程序包。
例如,运行dotnet deb -c Release -f netcoreapp2.1 -r ubuntu.16.04-x64
然后会创建一个.deb
文件,您可以使用该文件在Ubuntu 16.04上安装您的应用程序。
项目存储库有更多细节。
如果您不介意使用Java工具,可以在Ant脚本中使用jdeb构建Debian软件包。这可能比依靠Cygwin更轻。