让Visual Studio 2015解决方案发布ClickOnce应用程序的最简单方法是什么?是否可以更改ClickOnce设置参数,例如运行构建时更新URL吗?
答案 0 :(得分:20)
事实证明这很容易:
/property:PublishDir="C:\\Users\TeamCity\\Desktop\\publish\\"
< =
ClickOnce工件的放置位置我还有另一个命令行参数/property:InstallUrl="http://my.domain/app/"
,因此我可以为不同的构建(测试/制作)设置不同的安装位置。
然后我在* .csproj文件中添加了对此参数的引用:
<InstallUrl Condition="'$(InstallUrl)' == ''">http://default.domain/app/</InstallUrl>
<InstallUrl Condition="'$(InstallUrl)' != ''">$(InstallUrl)</InstallUrl>
您可能还需要* .csproj中的这些内容,以使您的ClickOnce应用版本与TeamCity内部版本号同步:
<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>
并将内部版本号格式(Build Configuration&gt; General Settings)设置为1.0.0.%build.counter%
。手动增加应用的主要/次要。
我接下来要做的是创建3个构建步骤,其中包含3个不同版本的上述版本,用于开发,测试和生产。所以我有相同的ClickOnce应用程序版本,它将从我的开发,测试和生产网站安装和自动更新(我将所有3个版本添加到网站的代码库中)。
我还添加了&#34; AssemblyInfo修补程序&#34; TeamCity构建配置的功能和&#34; system.Configuration&#34;参数设置为&#34;发布&#34;。
答案 1 :(得分:1)
上面Dave的回答非常有帮助(谢谢Dave!)。鉴于此,我想出了一个TeamCity-ClickOnce特定问题,我添加了一些屏幕截图(TeamCity v2017.2)
7.最后,请确保您的 Configuration WinForms项目已设置为可构建(这让我),否则TeamCity将不会生成ClickOnce文件。