Почему я получаю сообщение об ошибке «Цель GatherAllFilesToPublish не существует»?

Недавно я установил новые средства разработки Azure для Visual Studio 2010 с пакетом обновления 1. Каждый раз, когда я пытаюсь опубликовать существующий веб-сайт (используя развертывание файловой системы), я получаю следующую ошибку:

The target "GatherAllFilesToPublish" does not exist in the project.

Может кто-нибудь сказать мне, что мне не хватает?

Спасибо

 kulNinja12 окт. 2015 г., 00:03
Это не работает для меня :( Я использую VS 2013.
 Adam Zuckerman01 февр. 2014 г., 05:22
Это также происходит при локальной сборке в файловую систему. Горячий ответ Саида сработал для меня.
 Eduardo Campañó12 июн. 2012 г., 16:58
У меня та же проблема, я удалил инструменты, но пока не могу ее исправить

Ответы на вопрос(18)

который был обновлен с использованием VS2012. Ноэтот работал

Для Visual Studio 2017 - его нужно добавить после блока в файле .csproj, использовать блокнот и искать & quot; .targets & quot; найти его ...

Я создал новый проект VS 2017, и это работает для меня (без предупреждений):

  <PropertyGroup>
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
  </PropertyGroup>
  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
  <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
  <Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
  </Target>
 17 янв. 2018 г., 02:10
Brilliant! Это сработало для меня. Спасибо

когда я хотел опубликовать свое приложение ASP.Net в Windows Azure. После многих проб и ошибок, наконец,этот Решение сработало для меня. Это не требует переименования файлов или установки / переустановки исправлений / исправлений. Вот что вам нужно сделать:

Откройте файл проекта ASP.Net (.csproj) в Wordpad / Notepad и найдите строку, похожую на эту:

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

Замените его строкой, как указано ниже:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
 03 мар. 2015 г., 14:17
Ты спас мой день! Я попробовал все остальные ответы, но ни один не удался. Оказалось, что в моем файле csproj, по какой-то причине, строка даже содержала атрибут в буквальной формеConditon="false", Я также должен был очистить & amp; восстановить проект, прежде чем он начал работать.
 26 сент. 2013 г., 07:06
Пожалуйста, попробуйте прочитать этоstackoverflow.com/help/deleted-answers, чтобы получить больше понимания, какnot ответ. А именно: & quot; Ответы, которые не дают принципиального ответа на вопрос & quot ;:barely more than a link to an external site
Решение Вопроса

Ребята, мне очень жаль, что вы столкнулись с этой проблемой.

Я думаю, что я знаю, в чем проблема. При установке битов Azure SDK устанавливаются некоторые обновления веб-публикации VS. Один из них обновляет файл по адресу C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ WebApplications \ Microsoft.WebApplication.targets. Исходя из того, как определяется наша установка, если этот файл имеет обновленную временную метку (по какой-либо причине), то при установке нового компонента файл не обновляется.

Чтобы решить эту проблему, вы должны выполнить следующие шаги:

Rename the Microsoft.WebApplication.targets to Microsoft.WebApplication.targets.bak Install/Repair using the exe at http://go.microsoft.com/fwlink/?LinkId=253458

Можете ли вы попробовать и дайте мне знать, работает ли это или нет?

 10 июл. 2012 г., 14:17
Как сказал Sprinkle, файлы находятся в папке v10.0, но сделали свое дело! Спасибо!
 09 нояб. 2012 г., 17:27
Я не изменил Microsoft.WebApplication.targets, но исправление сработало для меня.
 23 апр. 2017 г., 13:47
для меня даже после закрытия VS скажет, что KB2591016 не применяется или заблокирован другим условием на вашем компьютере
 11 дек. 2012 г., 02:57
Я работал после того, как я установил исправление, закрыл Visual Studio и снова открыл его для вступления в силу.
 12 сент. 2013 г., 06:28
Это не сработало для меня.

йте это. Отредактируйте файл csproj из:

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

И изменить на:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets" />
 20 февр. 2016 г., 07:52
строка может иметь вид & lt; Import Project = & quot; $ (MSBuildExtensionsPath32) \ Microsoft \ VisualStudio \ v10.0 \ WebApplications \ Microsoft.WebApplication.targets & quot; состояние = & APOS; ложные & APOS; / & GT; это сработало для меня, спасибо @SushiGuy

У меня та же проблема в VS2013, решение, которое я нашел, было создание нового пустого проекта веб-приложения, которое может скопировать следующие строки из него в мой старый проект веб-сайта: На вершине:

<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />

<PropertyGroup>
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
  </PropertyGroup>
  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
  <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />

Я столкнулся с этой проблемой в VS 2017 и попытался вручную изменить файл csproj, как предложено здесь, и ни одно из предложенных исправлений не помогло мне. Я наткнулся на этот пакет Nuget. Установка у меня сработала.

MSBuild.Microsoft.VisualStudio.Web.targets

 14 дек. 2018 г., 16:23
Спасибо вам большое! Это сработало для меня. И я думал, что это будет один из этих дней.

исправить - собрать все файлы, чтобы опубликовать ошибку

Right click the project and select Edit (project name).csproj. (e.g. Edit in notepad) Look for <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

Add the following above the line.

<PropertyGroup> 
 <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">13.0</VisualStudioVersion>
 <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>

Save and Reload project.

 30 июн. 2014 г., 07:23
Это исправило это для меня. Проект ASP.NET MVC в VS2013
 21 мар. 2014 г., 21:58
13? Я понятия не имею, почему это будет работать. Разве это не последняя версия Visual Studio 2013 в реальности версии 12?
 09 мар. 2016 г., 23:55
Я столкнулся с этой ошибкой со 100% новой установкой VS2015 на свежие модули Windows. Этот пост исправил это для меня, за исключением того, что вы должны изменить 13.0 на 14.0. Спасибо огромное @PhillyNJ!
 16 мая 2014 г., 18:08
Я использовал версию моего VS - $ (VisualStudioVersion), который уже должен быть определен, поэтому он, вероятно, пропустит эту строку. VSToolsPath - то, что действительно сделало это для меня.

Я понимаю это в старом вопросе, но недавно столкнулся с ним, и вот как я решил это.

История вопроса: у меня был старый проект, который я обновил до VS studio 13. Похоже, файл проекта не был обновлен должным образом.

В файле csproj есть ссылки на VS v10.0, но я использую VS 13, которая действительно является "v12.0".

Поэтому я сказал файлу csproj использовать & quot; v12.0 & quot; папка, а не & quot; v10.0 & quot; папка.

Вот что у меня было:

<PropertyGroup>
  <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
  <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)\..\BuildTools\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(SolutionDir)\..\BuildTools\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />

Это то, что я изменил в:

<PropertyGroup>
  <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">12.0</VisualStudioVersion>
  <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />

Теперь моя публикация в файловой системе работает!

 21 сент. 2016 г., 14:12
это сработало для меня. танки

и я решил ее, используя шаги, предоставленные Сайедом.

Файл, который я переименовал, находился в каталоге v10.0.

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets.

Исходный файл, который был там, был датирован 18 января 2011 года, после переименования его с расширением .bak, а затем переустановки KB2591016, публикация, похоже, снова работает. Новая дата файла Microsoft.WebApplication.targets теперь 11 августа 2011 года.

) .csproj. (например, Редактировать в блокноте) Ищу Добавьте следующее над строкой.

13.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) Save and Reload project.

Это действительно работает для меня, спасибо

 17 янв. 2018 г., 06:18
Это тоже сработало! Спасибо

.

<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />

Добавил это чуть ниже

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

Теперь работает нормально

 30 дек. 2015 г., 08:18
В моем случае это был & lt; Import Project = & quot; $ (MSBuildToolsPath32) \ Microsoft.CSharp.targets & quot; / & GT;

Пожалуйста, проверьте, отсутствуют ли некоторые файлы в решении. если вы сталкиваетесь с ошибкой, какError - The target "GatherAllFilesToPublish" does not exist in the project. Затем просто откройте файл .proj и удалите эту строку<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />

Вы получаете фактическую ошибку или отсутствующие файлы в решение

Та же проблема с VS2017. Вы можете попробовать это, это сработало для меня.

Unload the project and Edit csproj file

search the keyword "WebApplication.targets"

 <Import Project="...\WebApplications\Microsoft.WebApplication.targets" ... >

COMMENT or REMOVE this line.(maybe two lines depending on "Condition")

Save and Reload project

На этом этапе вам будет предложено установить пакет размером около 500M ...

После этого перезагрузите проект, тогда все заработает!

Я думаю, я просто скучаю по некоторым компонентам, когда я устанавливаю VS 2017.

Также я заметил, что MSBuild Path в VS2017 довольно отличается, но, возможно, это не связано с проблемой, потому что он использует относительный путь в файле csproj.

<Target Name="GatherAllFilesToPublish">
</Target>

в файл проекта. Я до сих пор не знаю, что происходит.

 03 июл. 2014 г., 20:55
Это исправило проблему для меня в VS2013. Не смотрите никаких дополнительных папок резервного копирования, упомянутых @PhilVallone
 19 февр. 2014 г., 23:23
Это сработало для меня, но создает дополнительную папку с именем Backup и создает резервную копию файла. Блин VS 2013 глючит
 03 мар. 2015 г., 14:12
Я попробовал это. Ошибка исчезла, но все файлы .cs тоже были опубликованы. Я считаю, что это потому, что вы только добавляете заглушку. Этот ответ не является исправлением для корневой проблемы, это обходной путь.
 16 дек. 2015 г., 20:22
Это не исправление, поскольку оно добавляет практически все файлы в папке проекта в ваш пакет, который будет опубликован. Включая файлы, которые вы не хотите размещать на сервере.
 12 окт. 2015 г., 00:48
Работал на меня. Убедитесь, что при добавлении цели она не должна быть прокомментирована.

Решающим для меня решением было добавитьVSToolsPath настройка свойства, которая отсутствовала в моем файле проекта, по любой причине.

Я добавил это в<PropertyGroup> директива:

<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>

Примечание: мой файл проекта также ссылается на версию v10.0Microsoft.WebApplication.targets файл, но, похоже, все в порядке.

Microsoft Web Publish - Visual Web Developer Express 2010 Microsoft Web Publish - Visual Studio 2010

Ссылка

 23 апр. 2017 г., 14:11
У меня нет ни одной из этих программ под управлением Visual Studio 2015
 25 июл. 2012 г., 21:48
Какое облегчение, я хотел бы +10 ...
 08 мая 2014 г., 18:50
Я попробовал все остальное в этом посте ... очень удивился, что это не было помечено как ответ, у меня сработало! Спасибо :)

я хотел бы предложить вам попытаться переустановить SDK.

Пожалуйста, попробуйте полностью удалить старый SDK перед установкой нового.

С уважением,

Мин Сюй.

 21 мар. 2014 г., 22:00
Почему все так глючит? Шутки в сторону. Я ожидал большего от Microsoft.
 Joe13 июн. 2012 г., 02:39
Я полностью удалил инструменты и переустановил, но это, похоже, не сработало. Я полностью удалил новые инструменты (Windows Azure SDK для .NET) и вернулся к использованию старых (текущих) функций публикации Visual Studio 2010 SP1.

Ваш ответ на вопрос