Целевой MSDeployPublish не существует в проекте в сообществе VS 2015.

Целевой MSDeployPublish не существует в проекте

Я вижу, что люди ссылаются на эту ссылку, поскольку она дает решение моей проблемы. Я прочитал всю ветку и попробовал каждую идею, изложенную в ней. Ничего не получилось. Я также использую VS 2015 Community, а не VS 2013.

Я пытаюсь опубликовать веб-API через сообщество VS 2015. Я делал это раньше, но на этот раз, похоже, не работает.

Я получил настройки публикации из IIS на сервере, и проверка соединения работает нормально.

Когда я публикую, я получаю эту ошибку:

Целевой объект «MSDeployPublish» не существует в проекте.

Я пробовал несколько вещей, но наиболее часто упоминается (пере) установка пакета Microsoft.Web.WebJobs.Publish NuGet и проверка файла CSPROJ на эти две строки:

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

Вы уже догадались, что в моем случае это не работает (иначе я бы здесь не публиковал).

Первое, что я замечаю, это версия 10.0. Я вернулся по пути, и на моем диске нет версии 10.0. Только 12, 14 и 15. Похоже, у 14 есть цели, поэтому я изменил версию на 14 ... Та же ошибка.

Я попытался установить несколько пакетов, снова проверил файл CSPROJ, но ничего не произошло. Одна и та же ошибка снова и снова (здесь я немного расстраиваюсь ...)

У кого-нибудь есть другое решение для этого?

* ОБНОВЛЕНИЕ *

Вроде работает над другими проектами. Похоже, что с этим конкретным проектом что-то не так.

* ОБНОВЛЕНИЕ 2 *

Я установил FTP-соединение с хостом, так как пытался что-то еще. Я попытался опубликовать через FTP, но выдал почти ту же ошибку:

Целевой объект GatherAllFilesToPublish не существует в проекте.


person Community    schedule 02.05.2017    source источник


Ответы (1)


У кого-нибудь есть другое решение для этого?

Я сталкивался с этой ошибкой раньше, я решил ее следующим способом. Не уверен, работает ли это для вас, но вы можете попробовать.

Сначала установите пакеты (Запустите VS от имени администратора) :

install-package MSBuild.Microsoft.VisualStudio.Web.targets

install-package Microsoft.Web.WebJobs.Publish

Во-вторых, отредактируйте файл проекта WebJob:

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

Примечание:

  1. Убедитесь, что ваш VisualStudio запущен от имени «Администратор», в противном случае install.ps1 может вызвать ошибку при установке этого пакета.
  2. <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> Только когда условие равно нулю, значение VisualStudioVersion будет установлено на 10.0, а не на 10.0.

Надеюсь, это поможет тебе.

person Leo Liu-MSFT    schedule 02.05.2017
comment
Я всегда запускаю VS как администратор. Как сказано в исходном сообщении: я не вижу v10.0 в своей структуре каталогов на жестком диске. Может быть, глупый вопрос, но где мне найти файл проекта WebJob? Последнее: См. Также мой обновленный исходный пост - person ; 02.05.2017