【发布时间】:2017-08-27 07:40:11
【问题描述】:
操作系统:Microsoft Windows [Version 10.0.14393]
VS版本:2017 Community
当我运行 vswhere.exe 时,我得到以下信息,基于官方 vswhere documentation 我可以构建到 msbuild 的路径,这似乎有效:
C:\Users\user\Desktop>"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe"
Visual Studio Locator version 1.0.62 [query version 1.10.80.60812]
Copyright (C) Microsoft Corporation. All rights reserved.
[...]
installationPath: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community
[...]
C:\Users\user\Desktop>"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe"
Microsoft (R)-Buildmodul, Version 15.1.1012.6693
如果我启动位于"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsMSBuildCmd.bat" 的开发人员命令提示符,我会得到以下结果:
C:\Users\user>"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsMSBuildCmd.bat"
**********************************************************************
** Visual Studio 2017 MSBuild Command Prompt
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
C:\Users\user>where msbuild
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
- 启动开发人员命令提示符后返回的第二个路径是什么以及返回的路径是什么
- 我总是使用第一条路径 (
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe") 来调用msbuild来构建 C/C++/VC++ 项目。这有什么问题吗?
【问题讨论】:
-
MSBuild 传统上包含在 .NET 安装中。但是当它需要做更多的工作时,它就停止了扩展,特别是必须在 VS2010 上构建 C++ 项目,在 VS2012 上支持 WinRT 并获得一个全新的 api。所以它作为一个单独的产品被剥离出来,只附带一个 VS 安装。旧版本保留给在代码中依赖 MSBuild 并保持自制构建服务器运行的用户。它不适合构建 VS2017 或 C++ 项目,缺少的 .targets 文件是最大的障碍。
标签: visual-studio msbuild visual-studio-2017