MSBuild target PipelinePreDeployCopyAllFilesToOneFolder не может быть найден при развертывании - PullRequest
11 голосов
/ 31 мая 2010

Развертывание проекта веб-приложения из VS2010 RTM приводит к ошибке в MSBuild. Он жалуется, что цель PipelinePreDeployCopyAllFilesToOneFolder не может быть найдена.

Есть ли способ дополнительно диагностировать это?

Спасибо.

Ответы [ 4 ]

11 голосов
/ 16 января 2011

У меня была такая же проблема, и когда я посмотрел в файле .csproj для моего веб-приложения, у меня были следующие строки ...

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="'$(Solutions.VSVersion)' == '8.0'" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" Condition="'$(Solutions.VSVersion)' == '9.0'" />

Полагаю, это произошло с тех пор, как я недавно перешел с VS2008 на VS2010. Похоже, что во время процесса конвертации все облажалось. Чтобы исправить это, я просто заменил эти строки на ...

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

После этого все заработало как надо.

6 голосов
/ 29 января 2015

Я видел ответ, данный Броди в нескольких местах онлайн, что странно для меня, потому что эта задача ( PipelinePreDeployCopyAllFilesToOneFolde r) даже не содержится в этой цели (Microsoft.WebApplication.targets):

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

Если вы действительно найдете этот файл (на компьютере x64 он находится в C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ WebApplications \ Microsoft.WebApplication.targets , или эквивалент версии 12.0, если вы используете VS2013) и откройте его в средстве просмотра текста, вы увидите, что его там нет ..

На самом деле он содержится в файле, упомянутом Сайедом Ибрагимом Хашими, который является файлом Microsoft.Web.Publishing.targets ( C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v10. 0 \ Web \ Microsoft.Web.Publishing.targets ).

Итак, чтобы добавить это в ваш файл MSBuild / .csproj, включите следующее:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets" />
1 голос
/ 01 июня 2010

У вас установлена ​​Visual Studio 2010 на компьютере, где вы пытаетесь собрать? Если это так, то найдите файл, расположенный по адресу % Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web \ Microsoft.Web.Publishing.targets , у него должна быть эта цель. Если этого не произойдет, возможно, эти файлы были повреждены, и, вероятно, исправление установки VS 2010 должно исправить это.

Я думаю, что цели / задачи Web Deployment поставляются с самой VS, а не с платформой .NET, поэтому вам нужно установить VS (или вы можете вручную настроить машину) /

0 голосов
/ 10 августа 2015

Несмотря на то, что это старый пост, он все же оказал большую помощь!

Моя установка использует удаленный хост для автоматизации проекта, созданного в VS2013. Удаленный хост не содержит все цели VS2013, когда вы устанавливаете только MSBuild 12.0, и в результате файл «Microsoft.Web.Publishing.targets» не существует.

Чтобы обойти эту целевую ошибку, мне пришлось скопировать файлы с моего локального пути VS2013 и скопировать его на удаленный хост в эквивалентном месте.

...