gpt4 book ai didi

visual-studio - 如何使用构建定义发布 ClickOnce 应用程序?

转载 作者:行者123 更新时间:2023-12-04 05:38:47 27 4
gpt4 key购买 nike

我目前正在通过右键单击 .csproj 手动发布 ClickOnce 应用程序。有没有一种方法可以直接从解决方案中做同样的事情,以便我可以将它与构建定义一起使用以进行持续集成?

最佳答案

您不能直接从解决方案发布 ClickOnce 应用程序,但您可以使用 XAML 构建和 vNext 构建构建和发布 ClickOnce 应用程序,并使用 MSBuild 参数“/target:publish”让 MSBuild 创建 ClickOnce 发布文件夹。以下是两个博客,其中包含构建和发布 ClickOnce 应用程序的详细步骤:

使用 Team Build/VSO 构建和发布 ClickOnce 应用程序,请引用博客: http://blogs.msdn.com/b/tfssetup/archive/2015/09/15/build-and-publish-a-clickonce-app-using-team-build-vso.aspx

使用 build vNext 构建 ClickOnce 应用,请引用博客:http://blogs.msdn.com/b/tfssetup/archive/2015/10/15/building-clickonce-apps-using-build-vnext.aspx

假设您使用 XAML 构建,因此我想用 XAML 构建突出显示博客中的要点。要使用 Team Build 实现构建和发布 ClickOnce 应用程序,您需要使用以下步骤编辑 XAML 构建定义:

  • 在项目的属性中设置发布路径,这将与目标相对应。然后将您的项目 checkin 到 TFS。
  • 创建模板 TFVCTemplate.12.xaml 的副本以进行自定义。为了让构建过程得到一些环境数据,你需要:
  • 创建两个环境变量——DropLocation 和 WorkingDirectory。
  • 从工具箱中添加两个 GetEnvironmentVariable 类型的事件。将它们添加到流程中您喜欢的任何位置。
  • 使用第一个设置变量 DropLocation 和数据“Microsoft.TeamFoundation.Build.Activities.Extensions.WellKnownEnvironmentVariables.DropLocation”。
  • 使用第二个变量设置变量 WorkingDirectory 和数据“Microsoft.TeamFoundation.Build.Activities.Extensions.WellKnownEnvironmentVariables.BuildDirectory”。
  • 创建 DestinationLocation 类型的新参数并设置为 In,类型为 String。这将用于保存您的最终数据将要去的位置(文件位置)。

  • 我们编辑 XAML 构建定义的原因是 MsBuild 完成 ClickOnce 发布的方式。 MSBuild 发布不会将文件复制到目标,它会在 bin 中创建一个文件夹并将文件放在那里。
  • 默认情况下,TFS 会将 bin 文件夹复制到输出放置位置。但是我们需要 app.publish 文件夹。为了找到一种方法从发布文件夹中获取已发布的文件。你需要:
  • 在模板中搜索“Copy binaries to drop”事件。
  • 在属性中,将现有的源位置(将是 bin 文件夹,例如 WorkingDirectory + "\src\Desktop\TeamAdmin\ClickOnceTest\ClickOnceTest)写入这样的内容 – WorkingDirectory + "\src\Desktop\TeamAdmin\ClickOnceTest\ClickOnceTest\bin\Debug\app.publish”。
  • 添加事件 CreateDirectory,以再次创建目录。我们可以使用我们之前创建的目标位置变量。并将文件从放置位置复制到所需位置。
  • 现在我们可以创建一个新的构建定义并输入 DestinationLocation 和 MSBuildArguments 的值“/target:publish”并将构建排队。
  • 关于visual-studio - 如何使用构建定义发布 ClickOnce 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33926867/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com