我们如何让TFS 2010在构建后部署/发布WPF应用程序?

时间:2011-11-14 16:15:56

标签: wpf tfs continuous-integration clickonce continuous-deployment

我们有一个WPF应用程序,我们正在使用TFS 2010进行持续集成。每次签入源控件时都会触发一个新的构建。我想要的是在每次构建之后将此项目发布/部署到本地文件夹。我怎么能这样做?

实际上我们还有另一个WCF服务项目,我设法为此设置了持续集成。它构建完成后,运行单元测试,然后成功部署到调试服务器。我设置的构建定义是:

    Clean Workspace = None
    Copy Outputs to Drop folder = False
    MSBuildArguments =
    /p:DeployOnBuild=True
    /p:DeployTarget=MsDeployPublish
    /p:MSDeployServiceURL=http://<serverIP>
    /p:DeployIISAppPath="/DebugSite"
    /p:CreatePackageOnPublish=True
    /p:MsDeployPublishMethod=InProc (changed from RemoteAgent, didnt bother to try and remove other parameters)
    /p:AllowUntrustedCertificate=True
    /p:UserName=...
    /p:Password=...

但是当我为这个WPF项目使用相同的配置时,它被编译但没有任何内容放到目标文件夹中。它只是空的。(顺便说一句,我知道在IIS中正确定义了目标文件夹,因为如果我从VS2010发布相同的项目,它已成功部署并可以通过IE浏览。)

我一直在努力解决这个问题。我找到了许多“近距离”的问题和解决方案,但没有一个对我有用。例如:

  • 受到启发 What's the simplest possible way to deploy a WPF application?,我在构建工作流程中添加了一个“CopyDirectory”活动,它将构建输出目录的内容复制到目标。这填充了输出文件夹中的大量文件,这些文件显然是使用.exe,.xbap和所有.dll编译的所有产品,但它们不能用作WPF应用程序。尝试使用放置位置最终得到了类似的结果。当我尝试浏览应用程序时,出现以下错误:

    An exception occurred while downloading the application. Following failure messages were detected:
     - Downloading http://server/DebugSite/MyProject.exe.config.deploy did not succeed.
     - The remote server returned an error: (404) Not Found.
    
  • 还发现以下问题未得到答复:http://social.msdn.microsoft.com/Forums/en-US/tfsbuild/thread/e9abf652-223f-4683-9c07-f3064cd4296f除了我使用的是IIS 7和Windows Server 2008之外,这几乎与我的问题相同。

那么,如何在构建之后让TFS部署WPF应用程序?

2 个答案:

答案 0 :(得分:2)

我不相信默认构建模板可以部署一次应用程序。

您可以按照以下帖子中的步骤在发布步骤后添加点击 http://social.msdn.microsoft.com/Forums/da-DK/tfsbuild/thread/8aed666d-a1fd-4cf5-ad44-13d5827e1e58虽然我建议在“Check in Gated ...”步骤之后放置自定义步骤,以便更容易找到。

或者使用像Tfs Deployer(http://tfsdeployer.codeplex.com/)这样的东西,它需要更多的设置,但是在部署构建时更灵活。

点击一次http://www.edsquared.com/2011/10/27/Deploying+Visual+Studio+2008+ClickOnce+Projects+In+TFS+2010+Build.aspx

的另一个指南

答案 1 :(得分:0)

这是我在看到贝蒂回答之前找到的解决方案。它为发布和清单文件设置了一些属性,并且有点复杂。我建议首先在接受的答案中尝试链接,因为它很容易理解和应用。

http://thebasilet.blogspot.com/2010/10/tfs-2010-team-build-clickonce.html