Развертывание проекта веб-приложения из RTM VS2010 вызывает ошибку в MSBuild. Он жалуется, что цель PipelinePreDeployCopyAllFilesToOneFolder не найдена.
Есть ли способ продолжить диагностику?
Спасибо.
Развертывание проекта веб-приложения из RTM VS2010 вызывает ошибку в MSBuild. Он жалуется, что цель PipelinePreDeployCopyAllFilesToOneFolder не найдена.
Есть ли способ продолжить диагностику?
Спасибо.
У меня была такая же проблема, и когда я посмотрел файл .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" />
После этого все работало так, как должно.
Я видел ответ, который дал brodie в нескольких местах в Интернете, что для меня странно, потому что эта задача ( 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" />
У вас установлена Visual Studio 2010 на компьютере, где вы пытаетесь построить? Если это так, найдите файл, расположенный в % Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets, он должен иметь эту цель. Если это не так, эти файлы, возможно, были повреждены и, вероятно, исправили вашу установку VS 2010, она должна ее исправить.
Я думаю, что цели/задачи Web Deployment поставляются с самим VS, а не с платформой .NET, поэтому вам нужно установить VS (или вы можете вручную настроить машину)/
Несмотря на то, что это старый пост, он по-прежнему очень помог!
Моя установка использует удаленный хост для автоматизации проекта, построенного в VS2013. Удаленный хост не содержит все цели VS2013, когда вы устанавливаете только MSBuild 12.0, и это привело к тому, что файл Microsoft.Web.Publishing.targets не существует.
Чтобы обойти эту целевую ошибку, мне пришлось скопировать файлы с моего локального пути VS2013 и скопировать ее на удаленный хост в эквивалентном месте.