【问题标题】:Visual studio 2017 - MSBuild command line - "Debug|Win32" is invalidVisual Studio 2017 - MSBuild 命令行 - “调试|Win32”无效
【发布时间】:2019-03-01 18:03:22
【问题描述】:

当我尝试在命令行上使用 MSBuild 编译 c++ 解决方案时

1 - 默认情况下它不会选择活动配置

2 - 当我强制它(调试/Win32)时,它说它不存在

3 - 如果我尝试不同的 Release/Win32 组合,也会出现同样的问题

c:\myproject>"P:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild".exe game2D_sdl.sln /p:useenv=true /m /t:rebuild /p:Configuration=Debug  /p:Platform=Win32
...
     1>c:\myproject\game2D_sdl.sln.metaproj : error MSB4126: The specified solution configuration "Debug|Win32" is invalid. Please specify a valid solution configuration using the Configura
       tion and Platform properties (e.g. MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform="Any CPU") or leave those properties blank to use the default solution configuration. [Z:\WORK\SD
       L\game2D_sdl\game2D_sdl.sln]

我错过了什么?

问候

【问题讨论】:

  • 您的屏幕截图显示的是项目配置而不是解决方案配置,请参阅主窗口工具栏中的下拉菜单
  • msbuild game2D_sdl.sln /p:useenv=true /m /t:rebuild /p:Configuration=Debug /p:Platform=X86 可以工作吗?

标签: c++ visual-studio command-line msbuild


【解决方案1】:

当您使用该命令构建 .sln(solution) 文件时,请使用 解决方案配置而不是项目配置。

我创建了一个简单的 C++ 控制台项目。在“CPlusForConfig”解决方案中,我有一个项目“CPlusForConfig”。看看下面的图片(我的配置管理器):

根据图片,方案配置:Debug/X86对应项目配置:Debug/win32。

至于你的问题,如果你想用项目配置构建项目:Debug/win32

通过以下命令构建解决方案时使用解决方案配置:msbuild CPlusForConfig.sln /p:Configuration=Debug /p:Platform=X86

或者在构建项目时使用项目配置,例如:msbuild CPlusForConfig.vcxproj /p:Configuration=Debug /p:Platform=win32 这两个命令都适合你。

另外:您可以通过在解决方案探索中右键单击解决方案并选择配置管理器来打开您的配置管理器。 如果有帮助,请给我反馈。

【讨论】:

    猜你喜欢
    • 2019-07-19
    • 1970-01-01
    • 2019-03-29
    • 2018-06-18
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    • 2017-08-15
    • 1970-01-01
    相关资源
    最近更新 更多