从一个 .Net Core 项目创建 2 个独立的 exe?

Create 2 separate exes from one .Net Core project?

我有两个简单的独立命令行程序。每个都是一个源文件(比如 Program1.cs & Program2.cs),每个都包含一个 static void Main(..),每个都应该编译成一个独立的二进制文件。它们是相关的,所以为了简单起见,我想将它们放在一个目录中。

使用 .Net pre-Core,可以很容易地使用 csc Program<x>.cs 构建并生成 exe。

有没有办法在 .Net Core 中复制它?还是意味着 2 个独立的项目?到目前为止,我找不到在一个项目中生成 2 个二进制文件的方法,每个二进制文件都有一个单独的入口点。

谢谢。

--

你可以做的是为每个程序使用单独的配置,并在该配置中设置要编译的文件。

在您的情况下,project.json 的相关部分可能如下所示:

"configurations": {
  "Program1": {
    "buildOptions": {
      "compile": {
        "exclude": "Program2.cs"
      }
    }
  },
  "Program2": {
    "buildOptions": {
      "compile": {
        "exclude": "Program1.cs"
      }
    }
  }
}

然后您可以使用 dotnet build -c Program1 构建程序 1,使用 dotnet run -c Program1 构建程序 1 运行,程序 2 也类似。