1

MSVC++ 文档:

此示例使用 MySolution 的调试解决方案配置中的调试项目构建配置构建项目 CSharpConsoleApp。

devenv "C:\Documents and Settings\someuser\My Documents\Visual Studio\Projects\MySolution\MySolution.sln" /build 调试 /project "CSharpWinApp\CSharpWinApp.csproj" /projectconfig 调试

我很困惑解决方案配置是什么以及它与项目配置有何不同/相关。在我们的一个构建脚本中,我们有如下几行:

devenv ..\ProjectX.vcproj /build ReleaseUniCode /project ProjectX /projectconfig "ReleaseUniCode|Win32" /out ..\BuildLogs\build_ProjectX.log

但这与 MSDN 的示例不匹配,而且似乎仍然有点多余,谁能帮我更清楚地理解?

4

2 回答 2

2

解决方案只不过是项目的集合,具有从解决方案配置到项目配置的映射。有关如何管理映射,请参阅 Build 菜单 (VS 2012) 下的 Configuration Manager 对话框。

于 2013-05-02T16:03:22.413 回答
2

解决方案配置实质上是一组项目配置设置,即为每个项目构建具有特定配置设置的项目的快速方法。

例如,您可能有一个包含 GUI 应用程序和它使用的几个库的解决方案;所有项目都可能具有“静态库”和“动态库”项目配置(将库构建为库项目的 .lib 或 .dll,对 GUI 项目的库进行静态/动态链接)。在这种情况下,您可能希望有一个“静态”和“动态”解决方案配置来以一种或另一种配置构建所有项目,并作为构建的结果获得一个大胖 exe 或一个瘦 exe 和几个dll。

其他“经典”用途是管理所有项目的 Unicode/ANSI 构建,或在各种项目之间进行自定义调试/发布配置(如果我使用的是经过良好测试的库,我可能希望始终在“发布”模式下编译它,而是拥有我的主程序的调试/发布版本,因此我将设置我的解决方案配置“调试”和“发布”以仅影响主项目而不影响库)。

于 2013-05-02T16:09:17.923 回答