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

发布于 2024-08-23 09:02:22 字数 323 浏览 6 评论 0原文

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

问 - 我的应用程序如何稳健地启动 MsBuild?即如何确定它安装在哪个路径,如果没有安装怎么办,我是否应该将 MSBuild.exe 包含在 clickonce 包中,以便我自己确定它在那里?

I want to run MSBuild on a users PC as part of a WinForms ClickOnce deployment. That is after the application is downloaded and run (via clickonce) the application needs to kick off an MsBuild to handle database updates (using MigratorDotNet).

Q - How can my application robustly kick off MsBuild? i.e. how can it be sure what path it is installed, what if it is not installed, should I be including the MSBuild.exe in the clickonce package so that I know it is there for sure myself?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

韶华倾负 2024-08-30 09:02:22

MSBuildToolsPath 的值,

  • 您可以查看HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\2.0
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\3.5
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0

但是使用 ClickOnce 我认为您无法执行 MSBuild 脚本。

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

You can look at the values for MSBuildToolsPath under

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\2.0
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\3.5
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0

But with ClickOnce I don't think you will be able to execute MSBuild scripts.

I don't think you are allowed to redistribute MSBuild. Since MSBuild is distributed with the .NET Framework you can just check to see if v2+ is installed. If not then you can prompt them to install it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文