我的问题就是标题中所说的。我想将我的C#应用程序构建成Windows、Linux和MacOS的可执行文件,这样我就可以将它们发布在我的github repo上。我该怎么做呢?也许一个makefile或者类似的东西可以一次创建所有的程序会很方便?
如果你使用的是.NET Core 3.x或更高版本,你可以使用 dotnet publish
有各种选择,以 制作独立的可执行文件:
dotnet publish -c Release -r linux-x64 -p:PublishSingleFile=true
你需要为每个你想瞄准的平台(Windows、macOS、Linux)重新运行这个命令。
dotnet publish -c Release -r win-x64 -p:PublishSingleFile=true
dotnet publish -c Release -r osx-x64 -p:PublishSingleFile=true
-p:PublishSingleFile=true
产生一个单一的可执行文件,你可以到处复制和运行。你可以把它作为一个工件附加在GitHub上发布。
(顺便说一下。这个可执行文件会自动解压成几十个文件,然后运行那个版本。这意味着你将无法运行它,例如,在一个没有可以写入磁盘的系统上。)
是的,你绝对可以把它包在一个叫做 "S "的文件里。Makefile
或什么的。下面是我做的一个Cli工具的例子。
publish:
dotnet publish \
-c $(CONFIGURATION) \
-r $(RUNTIME) \
-p:PublishSingleFile=true