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

时间:2016-06-22 10:13:09

标签: c# .net-core

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

使用.Net pre-Core,可以轻松构建csc Program<x>.cs&amp;出来了。

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

感谢。

-

  • 这些是简单的演示。我知道它可能不代表典型的项目,那里会有多个源文件只有一个入口点。但是,缩小到简单案例的能力也很重要。

1 个答案:

答案 0 :(得分:2)

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

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

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

然后,您可以使用dotnet build -c Program1构建Program1并使用dotnet run -c Program1运行它,对于Program2也是如此。