如何从一个 Visual Studio 项目创建两个不同的可执行文件
How to create two different executables from one Visual Studio project
我有一个主要的可执行文件,它根据保存在配置文件中的设置运行。我希望能够通过不同的可执行文件更改配置文件中的设置。
有没有一种简单的方法可以在一个 Windows Forms 项目中构建这两个不同的可执行文件?这意味着当我按下构建时,会在同一个解决方案文件夹中创建两个不同的 EXE 文件 - 一个更改配置文件,另一个使用它。
我知道如果我创建两个使用相同解决方案文件夹的单独项目,这是可能的,但我希望一步完成。
我假设要执行此操作,我需要一个具有两个 "Main" 函数的项目。这可能吗?
配置文件的想法是您不需要构建多个可执行文件。 ;-)
您可以使用配置管理器,创建新的解决方案配置并更改该配置的输出目录。
您可以根据需要在一个解决方案中构建任意数量的程序集。程序集可以生成 DLL 文件或 EXE 文件。
创建解决方案(或打开现有解决方案)。
右键单击解决方案资源管理器中的根节点并选择添加 → 新建项目并选择项目类型你喜欢加
右键单击解决方案资源管理器中的项目项并选择 属性 → 构建 → 输出路径。设置为构建它的所需目录。对其他项目重复此操作。
通过这种方式,您可以在解决方案资源管理器中获得以下内容:
- 我的解决方案
- MyCommonCode(Class 库,结果为 MyCommonCode.dll)
- MyMainApp(Windows 表单应用程序,结果为 MyMainApp.exe)
- MyConfigApp(Windows 表单应用程序,结果为 MyConfigApp.exe)
MyCommonCode 程序集包含两个 EXE 文件都使用的共享代码,例如配置文件的标识符等。
MyMainApp 是主应用程序的 GUI 应用程序(Windows Forms、WPF 等),带有对 MyComonCode 项目的项目引用。
MyConfigApp 是一个 GUI 应用程序,用于使用对 MyCommonCode 项目的项目引用来编辑配置值。
构建解决方案后,您将获得以下二进制文件:MyCommonCode.dll
、MyMainApp.exe
和 MyConfigApp.exe
。
根据评论更新:
一次编译-运行 每个项目只能构建一个二进制文件(DLL 或EXE)。您可以像上面的答案那样做:将大部分代码移动到 common/core DLL 中,并为两个 EXE 文件创建两个精简项目,这两个 EXE 文件仅 "configure and use" 中央 common/core DLL 文件。
您可以使用编译器定义基于同一项目构建不同的 EXE 文件。您甚至可以定义自己的定义。但是根据编译-运行,您只能为每个项目构建一个二进制文件(DLL、EXE)——一个或另一个,但不能同时构建两个。
我有一个主要的可执行文件,它根据保存在配置文件中的设置运行。我希望能够通过不同的可执行文件更改配置文件中的设置。
有没有一种简单的方法可以在一个 Windows Forms 项目中构建这两个不同的可执行文件?这意味着当我按下构建时,会在同一个解决方案文件夹中创建两个不同的 EXE 文件 - 一个更改配置文件,另一个使用它。
我知道如果我创建两个使用相同解决方案文件夹的单独项目,这是可能的,但我希望一步完成。
我假设要执行此操作,我需要一个具有两个 "Main" 函数的项目。这可能吗?
配置文件的想法是您不需要构建多个可执行文件。 ;-)
您可以使用配置管理器,创建新的解决方案配置并更改该配置的输出目录。
您可以根据需要在一个解决方案中构建任意数量的程序集。程序集可以生成 DLL 文件或 EXE 文件。
创建解决方案(或打开现有解决方案)。
右键单击解决方案资源管理器中的根节点并选择添加 → 新建项目并选择项目类型你喜欢加
右键单击解决方案资源管理器中的项目项并选择 属性 → 构建 → 输出路径。设置为构建它的所需目录。对其他项目重复此操作。
通过这种方式,您可以在解决方案资源管理器中获得以下内容:
- 我的解决方案
- MyCommonCode(Class 库,结果为 MyCommonCode.dll)
- MyMainApp(Windows 表单应用程序,结果为 MyMainApp.exe)
- MyConfigApp(Windows 表单应用程序,结果为 MyConfigApp.exe)
MyCommonCode 程序集包含两个 EXE 文件都使用的共享代码,例如配置文件的标识符等。
MyMainApp 是主应用程序的 GUI 应用程序(Windows Forms、WPF 等),带有对 MyComonCode 项目的项目引用。
MyConfigApp 是一个 GUI 应用程序,用于使用对 MyCommonCode 项目的项目引用来编辑配置值。
构建解决方案后,您将获得以下二进制文件:MyCommonCode.dll
、MyMainApp.exe
和 MyConfigApp.exe
。
根据评论更新:
一次编译-运行 每个项目只能构建一个二进制文件(DLL 或EXE)。您可以像上面的答案那样做:将大部分代码移动到 common/core DLL 中,并为两个 EXE 文件创建两个精简项目,这两个 EXE 文件仅 "configure and use" 中央 common/core DLL 文件。
您可以使用编译器定义基于同一项目构建不同的 EXE 文件。您甚至可以定义自己的定义。但是根据编译-运行,您只能为每个项目构建一个二进制文件(DLL、EXE)——一个或另一个,但不能同时构建两个。