Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/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
与TeamCity发布ClickOnce应用程序_Teamcity_Clickonce - Fatal编程技术网

与TeamCity发布ClickOnce应用程序

与TeamCity发布ClickOnce应用程序,teamcity,clickonce,Teamcity,Clickonce,让我的Visual Studio 2015解决方案同时发布ClickOnce应用程序的最简单方法是什么?运行构建时,是否可以更改ClickOnce设置参数,例如更新URL?事实证明,这很容易: 生成步骤为“MSBuild” 生成文件指向Visual Studio解决方案 将“目标”设置为“发布” 添加“命令行参数”: /property:PublishDir=“C:\\Users\TeamCity\\Desktop\\publish\\”Dave上面的回答非常有用(谢谢Dave!)。鉴于这是一

让我的Visual Studio 2015解决方案同时发布ClickOnce应用程序的最简单方法是什么?运行构建时,是否可以更改ClickOnce设置参数,例如更新URL?

事实证明,这很容易:

  • 生成步骤为“MSBuild”
  • 生成文件指向Visual Studio解决方案
  • 将“目标”设置为“发布”
  • 添加“命令行参数”:
    /property:PublishDir=“C:\\Users\TeamCity\\Desktop\\publish\\”
    Dave上面的回答非常有用(谢谢Dave!)。鉴于这是一个TeamCity-ClickOnce特定问题,我想我应该添加一些屏幕截图(TeamCity v2017.2)

  • 我创建了两个配置(dev、prod),一个在每次提交时触发,另一个是手动(prod)
  • 我创建了一个单一的构建步骤,目标是:清理、构建、发布
  • 两个构建配置都将使用配置版本
  • 两种配置的不同之处在于参数设置。我希望dev和prod将ClickOnce文件发布到单独的文件夹中,该文件夹是通过设置system.PublishDir指定的
  • 我还希望dev和prod可以从单独的URL访问,这可以通过使用system.InstallUrl来完成
  • 请确保使用/终止PublishDir和InstallUrl,否则将出现404下载错误或目录路径错误
  • 7.最后,确保您的配置WinForms项目设置为build(这让我明白了),否则TeamCity将不会生成ClickOnce文件


    谢谢,这非常有用,您将如何更改用于ClickOnce签名的证书?
    <InstallUrl Condition="'$(InstallUrl)' == ''">http://default.domain/app/</InstallUrl>
    <InstallUrl Condition="'$(InstallUrl)' != ''">$(InstallUrl)</InstallUrl>
    
    <ApplicationVersion Condition="'$(build_number)' == ''">1.0.0.2</ApplicationVersion>
    <ApplicationVersion Condition="'$(build_number)' != ''">$(build_number)</ApplicationVersion>
    <BuildNumber Condition="'$(build_number)' == ''">1.0.0.2</BuildNumber>
    <BuildNumber Condition="'$(build_number)' != ''">$(build_number)</BuildNumber>