我有一个主要的可执行文件,它根据配置文件中保存的设置运行。我希望能够通过不同的可执行文件更改配置文件中的设置。
是否有一种简单的方法可以在一个winforms项目中构建这两个不同的可执行文件?这意味着当我按下build时,会在同一个解决方案文件夹中创建两个不同的exes - 一个更改配置文件,另一个使用它。
我知道如果我创建两个使用相同解决方案文件夹的独立项目,这是可行的,但我希望一步完成所有这些。
我假设要这样做,我需要一个带有两个“主要”功能的项目。这可能吗?
答案 0 :(得分:11)
您可以根据需要在一个解决方案中构建任意数量的程序集。程序集可以生成.DLL或.EXE。
创建解决方案(或打开现有解决方案)。
右键单击"解决方案资源管理器"中的根节点并选择Add > New Project
并选择您要添加的项目类型。
在解决方案资源管理器中右键单击项目项,然后选择Properties > Build > Output path
。设置到所需的目录,在其中构建它。对其他项目重复此操作。
这样您就可以在解决方案资源管理器中获得以下内容:
MyCommonCode程序集包含两个exe正在使用的共享代码,就像配置文件的标识符一样。
MyMainApp是您的主应用程序的GUI应用程序(Winforms,WPF等),其中包含对MyComonCode项目的项目引用。
MyConfigApp是一个GUI应用程序,用于通过对MyCommonCode项目的项目引用来编辑配置值。
构建解决方案后,您将获得以下二进制文件:MyCommonCode.dll
,MyMainApp.exe
和MyConfigApp.exe
。
根据评论进行更新:
一个编译运行每个项目只能构建一个二进制文件(dll或exe)。您可以做的就是上面的答案:将大部分代码移动到公共/核心DLL中,并为两个exe文件制作两个精简项目,这两个文件只配置和使用"中央公共/核心DLL。
您可以使用编译器定义基于同一项目构建不同的EXE。您甚至可以定义自己的定义。但是每次编译运行时,你只能为每个项目构建一个二进制文件(DLL,EXE) - 一个或另一个,但不能同时构建两个。
答案 1 :(得分:0)
配置文件的idear是您不需要构建多个可执行文件。 ;-)
您可以使用 Configuration Manager 创建新的解决方案配置并更改该配置的输出目录。