Compile/Run macOS 上的单个 C# 文件

Compile/Run single C# file on macOS

我能够通过 VS 为 Mac 开发基于 .NET Core 的 C# 应用程序,现在我创建了一个 "compiler",它为我创建的语言生成 C#。我想要至少 运行 输出(一个名为 Program.cs 的文件)并希望将其编译为 macOS.

上的可执行文件

在 Windows 上,可以通过以下方式完成:

csc /optimize /t:exe /out:Program.exe Program.cs

奇怪的是,这个确切的命令在 macOS 上也同样有效,并生成一个 Windows 可执行文件。我想要的是 mac 可执行文件的等价物。但是,csc documentation 声明唯一的编译器目标是 'library'、'module' 和 Windows 应用程序。

澄清一下,我不想在 运行 时 运行 代码,而是要从 运行 时生成的代码(作为字符串)构建可执行文件时间.

运行 csc 仅当作为构建过程的一部分完成时,或者当 运行 在支持执行 .Net Framework(或 .Net标准)程序集 - 即 Windows 目前,仅适用于琐碎的无依赖代码。

您需要 dotnet new console 创建项目,将您的 Program.cs 放入项目文件夹,然后 dotnet build 将生成可执行文件(在下载必要的 nuget 依赖项等之后)。要共享可执行文件,请使用 dotnet publish -c <configuration> -r <runtime> --self-contained true(例如 <configuratio>Release<runtime>osx-x64)。

这项技术叫做 .Net Native,它很棒。

如果您使用 OSX,您可以使用终端生成 exe/compile (c#)。你可以关注this post

需要:

  • Visual Studio 对于 Mac
  • 一个 .cs 文件
  • 终端中几行