gpt4 book ai didi

c++ - 如何在 MSVS 开发提示符之外运行 MSBuild?

转载 作者:行者123 更新时间:2023-11-30 03:26:09 27 4
gpt4 key购买 nike

我最近一直忙于为我一直在设计的代码库制作正确的构建脚本,并且一直致力于让 MSBuild 为我的 Windows 构建正确编译。我想要做的是从批处理脚本中调用 MSBuild 而无需打开 Visual Studio IDE,如果我不是从 Visual Studio 的开发人员命令提示符中执行它,它似乎会不断执行。我的脚本很简单,就是调用

start C:\Program Files (x86)\...\MSBuild\15.0\Bin\MSBuild.exe <Project>.sln

除了标记在它末尾的一些其他说明符之外,这就是我试图用来运行我的 Windows 构建的内容。这里的问题是,每当在 VS Dev Prompt 之外调用此代码时,Visual Studio 本身就会打开,根本不会构建代码。我也找不到其他人为同样的问题而苦苦挣扎,因为它似乎是 MSBuild 和 Visual Studio 集成的新事物。使用旧版本的 MSBuild 进行的测试表明,我可以在 Dev Prompt 之外按照我的意愿构建项目。我是否可能遗漏了 Dev Prompt 中提供的一些环境变量来更改可执行行为?我似乎也找不到任何可以改变这一点的可执行说明符。

也许我对这个问题采取了完全错误的方法?我的最终目标是为消费者提供一组构建脚本,一个用于他们所针对的每个平台,因此我绝对愿意接受其他解决方案。

最佳答案

规范答案:

您可以使用带有/build 命令行选项和项目文件名称的 devenv 命令。

或者,您可以运行其中一个 vcvars*.bat 脚本来设置必要的环境,然后使用 msbuild。

有关详细信息,请参阅 https://learn.microsoft.com/en-gb/cpp/build/building-on-the-command-line .

更新:与上面的官方建议相反,这是在我装有 VS2017 社区版的笔记本电脑上有效的方法。

  1. 通过运行“VS2017 的开发人员命令提示符”所针对的 bat 文件来设置环境。 (在开始菜单中右键单击它,然后选择“打开文件位置”,然后右键单击快捷方式并选择“属性”。对我来说是“C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat”。

    您应该从构建脚本中调用此文件。

  2. cd 到您的项目目录,然后像这样使用 msbuild:

    msbuild My-project.vcxproj/p:Configuration=Release

出于某些非常奇怪的原因,如果我打开官方开发人员命令提示符,但从另一个命令提示符启动 devenv,即使设置了环境变量,我也可以使用 devenv 方法。 (我什至比较了两个命令提示符中的环境变量集,它们是相等的。)

关于c++ - 如何在 MSVS 开发提示符之外运行 MSBuild?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48513758/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com