【问题标题】:How to find out the command Visual Studio sends to MSBuild?如何找出 Visual Studio 发送到 MSBuild 的命令?
【发布时间】:2017-12-08 13:55:07
【问题描述】:

我正在尝试在 CI/CD 引擎中使用 MSBuild,我需要使用它发布一个 ASP.NET Core MVC 应用程序。

我想知道在我们构建/发布项目时 Visual Studio 发送到 MSBuild 的内容,并将其准确发送到 MSBuild。

我们是否可以找到 Visual Studio 2017 发送到 MSBuild 以构建/发布 .NET Core 项目的命令?

更新: 对于那些说 VS 使用 MSBuild API 的人,只需杀死所有 MSBuild.exe 进程,然后通过 VS 构建项目/解决方案,您就会看到 MSBuild.exe 即将到来返回进程列表(通过任务管理器查看)。那么,有什么解释呢?如果 VS 使用 API,那么该 API 应该在 devenv.exe 进程中运行,并且 MSBuild.exe 的实例不应出现在任务管理器中。对吧?

更新 2devenv.exe 是否公开其发布功能?

【问题讨论】:

标签: visual-studio msbuild


【解决方案1】:

我们是否可以找到 Visual Studio 2017 发送到 MSBuild 以构建/发布 .NET Core 项目的命令?

不,您找不到 Visual Studio 2017 发送到 MSBuild 以构建/发布 .NET Core 项目的命令。因为 Visual Studio 使用MSBuild API 执行一系列任务来完成构建/发布:

Visual Studio 使用 MSBuild 加载和构建托管项目。 Visual Studio 中的项目文件(.csproj、.vbproj、vcxproj 等)包含在您使用 IDE 构建项目时执行的 MSBuild XML 代码。 Visual Studio 项目导入所有必要的设置和构建流程来完成典型的开发工作,但您可以在 Visual Studio 中或使用 XML 编辑器扩展或修改它们。

所以没有命令发送到 MSBuild,我们不会捕获命令。您可以在将 MSBuild 输出详细程度更改为“Diagnostic”或“Detailed”后查看构建日志以验证命令行是否存在。

【讨论】:

    【解决方案2】:

    我希望那些 linklink 能以某种方式帮助您,它们已经很老了,但可能会给您一些您正在寻找的解决方案的指导。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多