gpt4 book ai didi

windows - Visual Studio 2017 : open AND build solution from a command line call

转载 作者:可可西里 更新时间:2023-11-01 11:43:58 24 4
gpt4 key购买 nike

在 visual studio 2017(或可能是任何版本)中,我想在 IDE 中打开一个解决方案并从命令行开始构建它。如果解决方案已经打开,那么我只想开始构建(在 IDE 中)。

所以我可以这样打开解决方案:

devenv solution.sln

或者我可以这样构建它:

devenv/build solution.sln

还有这个:

devenv solution.sln/command ...

但是很难找到有关“命令”的文档...该示例是一些用户制作的宏,但我假设还有其他内置命令? - 这可能有帮助...?

但我不确定如何:

  • 在 IDE 中打开一个解决方案并立即构建它
  • 如果它已经打开,就让它开始构建。

有什么办法可以做到这一点吗?

我的用例是从 IBM Rhapsody 中启动构建。在 MSVS2012 中,它支持执行这些任务的 Rhapsody 插件......但是自 2013 年以来插件已被弃用,因此我可以通过重写其 make 文件内容让 Rhapsody 执行我想要的操作 - makefile 将只调用一个批处理文件脚本,它将执行我在这个问题中尝试执行的命令 - 然后 Rhapsody 插件完成 :)

最佳答案

实际上注意到:

  1. devenv solution.sln 仅在新的 VS IDE 实例中打开解决方案。
  2. devenv/build solution.sln 仅在不打开 VS IDE 的情况下构建自上次构建以来发生变化的项目。要构建解决方案中的所有项目,请改用/rebuild。

所以,如果你想

Open a solution in the IDE and have it build straight away

你应该连续运行这两个命令:

devenv solution.sln  
devenv /rebuild solution.sln

然后在第二次使用/rebuild only 以避免打开一个新的 VS 实例。

更新:您可以制作一个.cmd.bat 文件包含以下内容:

tasklist /fi "imagename eq devenv.exe" /v | find /i "solution" 2>NUL
if "%ERRORLEVEL%"=="0" goto solution_is_running
if "%ERRORLEVEL%"=="1" goto solution_is_closed

:solution_is_running
devenv /rebuild solution.sln
goto:eof

:solution_is_closed
devenv solution.sln
devenv /rebuild solution.sln
goto:eof

或者使用:

Taskkill /IM devenv.exe /F
devenv solution.sln
devenv /rebuild solution.sln

关于windows - Visual Studio 2017 : open AND build solution from a command line call,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50805311/

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