如何从一个Visual Studio项目创建两个不同的可执行文件

我有一个主要的可执行文件,它根据保存在配置文件中的设置运行。 我希望能够通过不同的可执行文件更改配置文件中的设置。

有一种简单的方法可以在一个winforms项目中构建这两个不同的可执行文件吗? 这意味着当我按下build时,会在同一个解决方案文件夹中创建两个不同的exes – 一个更改配置文件,另一个使用它。

我知道如果我创建两个使用相同解决方案文件夹的独立项目,这是可行的,但我希望一步完成所有这些。

我假设要做到这一点,我需要一个带有两个“主要”function的项目。 这可能吗?

您可以根据需要在一个解决方案中构建任意数量的程序集。 程序集可以生成.DLL或.EXE。

创建解决方案(或打开现有解决方案)。 右键单击“Solution Explorer”中的根节点,然后选择Add> New Project并选择要添加的项目类型。 在解决方案资源管理器中右键单击项目项,然后选择“属性”>“构建”> 设置到所需的目录,将其构建到。 对其他项目重复此操作。

因此,您可以在解决方案资源管理器中获取以

  • MySolution
    • MyCommonCode(类库,导致MyCommonCode.dll)
    • MyMainApp(Winforms App,结果MyMainApp.exe)
    • MyConfigApp(Winforms App,结果MyConfigApp.exe)

MyCommonCode程序集包含两个exe正在使用的共享代码,如配置文件的标识符等。

MyMainApp是GUI应用程序(Winforms,WPF等),适用于主应用程序,具有MyComonCode项目的项目引用。

MyConfigApp是一个GUI应用程序,用于通过对MyCommonCode项目的项目引用来编辑配置值。

这样你得到: MyCommonCode.dllMyMainApp.exeMyConfigApp.exe

根据评论更新:

一个编译运行只能为一个项目构建一个二进制文件(dll或exe) – 据我所知。 上面的代码答案是什么:将大部分代码移动到公共/核心DLL中,并为两个exe执行两个精简项目,这两个exe只“配置和使用”中央公共/核心DLL。

您可以使用编译器定义基于同一项目构建不同的EXE。 您甚至可以定义自己的定义。 但是每次编译运行时,每个项目只能构建一个二进制文件(DLL,EXE) – 一个或另一个,但不能同时构建两个。

配置文件的idear是您不需要构建多个可执行文件。 😉

您可以使用Configuration Manager创建新的Solution配置并更改该配置的输出目录。