Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从visual studio中提取msbuild命令_C#_Visual Studio 2012_Visual Studio 2015_Msbuild - Fatal编程技术网

C# 从visual studio中提取msbuild命令

C# 从visual studio中提取msbuild命令,c#,visual-studio-2012,visual-studio-2015,msbuild,C#,Visual Studio 2012,Visual Studio 2015,Msbuild,是否有任何方法可以从visual studio 2012/2015中提取msbuild命令。我正在创建一个命令行工具,在该工具中,我必须为各种C#项目“手动”编写msbuild命令。我想知道是否可以直接从visual studio中提取这些命令,因此我将在我的工具中复制并粘贴这些命令。ProcMon from允许您拦截“ProcessCreate”事件 尝试在生成解决方案期间运行它,并将筛选器设置为Process Name=“MSBuild” 这将拦截MSBuild的所有windows事件,包括

是否有任何方法可以从visual studio 2012/2015中提取msbuild命令。我正在创建一个命令行工具,在该工具中,我必须为各种C#项目“手动”编写msbuild命令。我想知道是否可以直接从visual studio中提取这些命令,因此我将在我的工具中复制并粘贴这些命令。

ProcMon from允许您拦截“ProcessCreate”事件

尝试在生成解决方案期间运行它,并将筛选器设置为Process Name=“MSBuild”

这将拦截MSBuild的所有windows事件,包括进程创建。如果显示事件属性,则可以看到创建其进程的命令行

ProcMon from允许您拦截“ProcessCreate”事件

尝试在生成解决方案期间运行它,并将筛选器设置为Process Name=“MSBuild”

这将拦截MSBuild的所有windows事件,包括进程创建。如果显示事件属性,则可以看到创建其进程的命令行


非常感谢Moataz。您提到的工具有助于跟踪MSBuild.exe进程。然而,我仍然无法获得构建过程的确切命令行。我继续看到您在上面突出显示的同一命令行。也许VS会启动一组msbuild实例,然后以另一种方式与它通信?在任何情况下,VS中的building也会将BuildingVisualStudio=true之类的属性传递给BuildingVisualStudio,因此无论如何都不能复制粘贴msbuild命令,因为在命令行上,当devenv.exe似乎通过IPC管道与msbuild.exe通信以进行构建时,该标志可能是fals。使用Sysinternals中的pipelist,在生成过程中显示指向msbuild的管道。我会后退一步,问你为什么真的需要拦截这些命令?为什么不直接使用msbuild?我需要visual studio中的msbuild命令的唯一原因是为了加快命令行脚本的创建速度。我有许多项目文件,为每个文件编写msbuild都需要时间。如果我直接从VisualStudio获得msbuild命令,我可以简单地将它们复制并粘贴到这里,而不用担心它们的正确性。非常感谢Moataz。您提到的工具有助于跟踪MSBuild.exe进程。然而,我仍然无法获得构建过程的确切命令行。我继续看到您在上面突出显示的同一命令行。也许VS会启动一组msbuild实例,然后以另一种方式与它通信?在任何情况下,VS中的building也会将BuildingVisualStudio=true之类的属性传递给BuildingVisualStudio,因此无论如何都不能复制粘贴msbuild命令,因为在命令行上,当devenv.exe似乎通过IPC管道与msbuild.exe通信以进行构建时,该标志可能是fals。使用Sysinternals中的pipelist,在生成过程中显示指向msbuild的管道。我会后退一步,问你为什么真的需要拦截这些命令?为什么不直接使用msbuild?我需要visual studio中的msbuild命令的唯一原因是为了加快命令行脚本的创建速度。我有许多项目文件,为每个文件编写msbuild都需要时间。如果直接从VisualStudio获得msbuild命令,我可以简单地将它们复制并粘贴到这里,而不必担心它们的正确性。