【问题标题】:Is there any way to make Release and Debug both build?有什么方法可以同时构建 Release 和 Debug 吗?
【发布时间】:2023-03-23 02:16:01
【问题描述】:

我目前正在使用 ASP.NET MVC 5 来制作 Web 应用程序。我总是想在我的 bin 文件夹中有一个发布版本。如果我将构建配置设置为 Release,它将不会调试我的断点。如果我将其设置为调试,我的/bin 构建将是一个调试构建。

有没有办法在编译时生成两个版本?即一个用于调试,第二个用于发布在/bin文件夹中?

【问题讨论】:

  • 一个更好的问题可能是“你为什么认为你需要两个版本?”。但是,如果需要,您可以向项目添加一个构建后事件,该事件会启动一个新的 msbuild,例如 this,但没有记录器?
  • @Smudge202 因为我希望我的 /bin 文件夹每次都可以上传(以备不时之需),而且这不会阻止我随时调试任何东西。
  • 上传?我认为这是某种形式的部署过程?如果是这样,您应该考虑构建管道。您不应该部署调试版本。您部署 releases,它们是使用 Release 配置构建的、经过测试的等。
  • 或者至少是“发布”选项。

标签: visual-studio asp.net-mvc-5 visual-studio-2015


【解决方案1】:

2019 年更新

在 Visual Studio 2015 中,实际上有一个选项可以一起构建多个配置。

您可以在Menu > Build > Batch Build.. 下找到此选项,这将打开以下窗口,我认为这很容易解释。

当然,如果您习惯使用键盘快捷键,只需使用:alt + B > T > Enter,所有选定的项目都会构建。

【讨论】:

    【解决方案2】:

    没有办法指示 VS 在构建时构建多个配置。从 VS 的角度来看,构建命令使用单一配置构建特定项目或项目解决方案(调试和发布只是两种可能的配置)。

    但是,您可以使用构建后命令来执行任何操作(包括触发构建另一个配置)。然而,仅仅因为您可以在构建后做任何事情并不意味着它是最佳实践,甚至是一个好主意。

    在您走这条路之前,您可能需要考虑这是否是xy problem。 “y”问题实际上是“我如何才能拥有我当前代码库的发布副本,即使它还没有准备好发布,并不断用最新的代码库更新最新的稳定版本?”

    是否真的需要将最近编译的代码库(无论其质量如何)推送到生产版本,该代码库将在几秒钟内替换上一个稳定版本,而无需在调试会话中间按下单个按钮?我会收集到最有经验的开发人员会说“不”,大多数团队负责人会说“哦该死的不”。这是项目经理的噩梦。

    您可能需要考虑设置一个持续集成构建服务器。我在这里暗中尝试,但我认为它可以满足您的需求(尽管不是您所要求的)。

    过去,为小型项目设置 CI 服务器会产生大量开销,因此通常无法完成。这是guide on setting up CI using Visual Studio Online and Azure

    【讨论】:

    • 我并不是要在代码准备好构建时进行编译。我如何获得“构建后命令”来获得两者。我不能在项目中做任何事情,而不是向我的视觉工作室指示任何东西(无论它是否是通过插件的帮助完成的)以进行 2 构建(是的,当它准备好编译时)。
    • 这不是推送到生产代码的问题,它只是碰巧编译。相反,它是关于在复制 .EXE 之前忘记切换到发布模式,从而无意中使用了旧版本。 CI 构建服务器可以做到这一点,但它似乎有点矫枉过正。
    猜你喜欢
    • 2021-08-19
    • 1970-01-01
    • 2021-06-09
    • 1970-01-01
    • 2017-06-14
    • 1970-01-01
    • 2015-11-06
    • 2023-04-05
    • 2013-03-24
    相关资源
    最近更新 更多