如何在ClickOnce winforms应用程序中调用MsBuild.exe并知道正确的路径?(即,它在用户计算机上运行)

如何在ClickOnce winforms应用程序中调用MsBuild.exe并知道正确的路径?(即,它在用户计算机上运行),msbuild,clickonce,migratordotnet,Msbuild,Clickonce,Migratordotnet,我想在用户PC上运行MSBuild,作为WinForms ClickOnce部署的一部分。即在应用程序下载并通过clickonce运行之后,应用程序需要启动MsBuild以使用处理数据库更新 问:我的应用程序如何稳健地启动MsBuild?i、 e.如何确定安装的路径,如果未安装,应该在clickonce包中包含MSBuild.exe,以便我自己知道它确实存在?您可以在下面查看MSBuildToolsPath的值 HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\

我想在用户PC上运行MSBuild,作为WinForms ClickOnce部署的一部分。即在应用程序下载并通过clickonce运行之后,应用程序需要启动MsBuild以使用处理数据库更新


问:我的应用程序如何稳健地启动MsBuild?i、 e.如何确定安装的路径,如果未安装,应该在clickonce包中包含MSBuild.exe,以便我自己知道它确实存在?

您可以在下面查看MSBuildToolsPath的值

HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\2.0 HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\3.5 HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0 但是使用ClickOnce,我认为您将无法执行MSBuild脚本


我认为不允许您重新分发MSBuild。由于MSBuild是与.NET Framework一起分发的,所以您只需检查是否安装了v2+。如果没有,您可以提示他们安装。

哦……所以可能从未真正打算用于客户端升级。也许不确定,我不熟悉该产品。