【问题标题】:Create 2 separate exes from one .Net Core project?从一个 .Net Core 项目创建 2 个单独的 exe?
【发布时间】:2016-06-22 10:13:08
【问题描述】:

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

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

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

谢谢。

--

  • 这些是简单的演示。我知道它可能不代表典型的项目,其中会有多个源文件和一个入口点。不过,缩减为简单案例的能力也很重要。

【问题讨论】:

  • 不确定您是否可以使用单个项目执行此操作,但您可以使用单个解决方案来执行此操作。将您的类放在解决方案中的不同项目中,然后:解决方案属性 -> 通用属性 -> 启动项目 -> 多个启动项目。
  • @user5226582 但这不会将它们构建到同一目录中。它只会在他按下 F5 时启动它们。
  • 这个问题是关于 .NET Core 的,基于解决方案的方法在那里不起作用。
  • 我的错,错过了。

标签: c# .net-core


【解决方案1】:

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

在您的情况下,您的 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 也是如此。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 2017-05-08
    • 2023-04-06
    • 2013-12-06
    相关资源
    最近更新 更多