У нас есть приложение 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 Это почти та же проблема со мной, за исключением того, что я использую IIS 7 и Windows Server 2008.
Итак, как я могу заставить TFS развертывать приложение WPF после сборки?