繁体   English   中英

在Visual Studio项目中创建“控制台”和“窗口”配置

[英]Create “console” and “window” configurations in Visual Studio project

我在Visual Studio 2008中有一个项目。我想有两种不同的方式运行它-作为常规Windows应用程序(这样它将获得一个窗口并且我可以做图形工作)或作为控制台应用程序(因此它不会)没有窗口,不做图形)。 有没有办法设置它,以便我在运行它时可以使用命令行选项或在这两个选项之间进行切换的方法? 有没有一种方法可以在同一Visual Studio项目中设置两个不同的配置,以便我可以构建一个? 还是我需要创建两个完全独立的项目,一个用于窗口应用程序,一个用于控制台应用程序。

是的,您可以使用Configuration Manager创建新配置。 每个配置的项目设置可以不同。 因此,您可以创建两个配置,然后在项目设置中将“输出类型”设置为“ Windows应用程序”或“控制台应用程序”。

这样做的方法是:在“构建类型”下拉列表中(默认情况下具有“调试”和“发布”选项的那个),选择“配置管理器”。 添加一个新配置,并将其称为“调试(控制台)”-选中此新配置,转到项目属性,并将“输出类型”设置为“控制台应用程序”。 重复添加Windows窗体配置。

推荐的(非hacky)方法是将所有逻辑放在类库中,然后为控制台和Window应用程序创建两个单独的项目。 然后添加类库,以作为Chris建议的对这些项目的引用。

您不能拥有同时充当控制台 Window应用程序的单个应用程序。 基本上是因为控制台和窗口应用程序在二进制级别上不同,PE标头中的标志也不同。

尽管有一些技巧可以使您使用Windows API函数( AttachConsoleCreateConsole )来伪造此类行为。 有关详细信息,请参见

C#:是否可能有单个应用程序作为控制台或Windows应用程序运行,具体取决于开关?

但是请注意,常规控制台或Window应用程序的行为可能会有某些差异

您可能要考虑将项目分成三个部分。

  1. 完成工作的程序集/ dll(取决于您的语言)。
  2. 控制台应用程序。
  3. Windows应用程序。

后两个只是完成所有工作的Assembly / dll上的两个不同接口。

就像您具有默认的“调试”和“发布”配置一样,您可以创建自己的配置。 右键单击该项目,选择“配置管理器”,单击“活动解决方案配置”下拉框,然后选择“新建”。 输入“ CmdLine Debug”和“ Windowed Release”等名称,然后删除其他配置。 现在,右键单击该项目,选择“属性”,然后为适当的配置调整所需的设置。

TP可以使您的生活更轻松:将所有配置通用的属性放在属性表中,并在所有地方使用这些表。 这样,如果您想更改适用于所有配置的选项,则只需执行一次。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM