我们有一个 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 浏览。)
我已经为此苦苦挣扎了一段时间。我发现了许多“接近”的问题和解决方案,但没有一个对我有用。例如:
受到 部署 WPF 应用程序的最简单方法是什么的启发?,我在构建的工作流程中添加了一个“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这对我来说几乎是同样的问题,除了我' m 使用 IIS 7 和 windows server 2008。
那么,如何让 TFS 在构建后部署 WPF 应用程序?