Ответ 1
Я провел около 3 недель, борясь с этим в своей собственной среде, и думаю, что у меня есть решение.
Я думаю, проблема в том, что файл website.publishproj никогда не строится, когда вы проходите в решении. Мне удалось решить эту проблему, выполнив следующие действия:
- Пожалуйста, убедитесь, что вы используете новое обновление ASP.Net и Tools 2012.2. Загрузить здесь.
-
Создайте файл рядом с файлом решения after.MyWebs.sln.targets. Этот файл должен выглядеть следующим образом:
<!--?xml version="1.0" encoding="utf-8"?--> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Target Name="Deploy Website" AfterTargets="Build"> <Message Text="Starting Website deployment" Importance="high"> </Message> <MSBuild Projects="$(MSBuildProjectDirectory)\MyWebs\website.publishproj" BuildInParallel="true" /> </Target> </Project>
Что происходит, когда MSBuild начинает создавать файл решения, он фактически создает файл MSBuild в памяти с расширением метаприем. Есть способы заставить MSBuild сохранить этот файл на диск, чтобы вы могли его осмотреть, но это легко найти в Google. Файл, созданный на первом шаге, вводится в файл metaproj и запускается после сборки.
Это был единственный способ получить новые опубликованные профили, чтобы дать мне результат, который я использовал для старых рекламных программ развертывания Web.
Слово предупреждения. Если вы хотите использовать это в сборке TFS, то в этом случае вы получите папку _PublishedWebsites в папке, не зависящей от PublishUrl, которую вы указываете в файле pubxml, Это то, что я пытаюсь решить, но до сих пор не испытываю большой радости.