Целевой пакет MSBuild не найден - PullRequest
71 голосов
/ 09 апреля 2010

Я хочу упаковать свой проект веб-приложения VS2010, готовый к развертыванию, с помощью msdeploy. На машине разработчика я могу сделать это используя:

MSBuild.exe "C:\path\to\WebApp.csproj" /target:package

Но на моем сервере сборки я получаю эту ошибку:

ошибка MSB4057: целевой "пакет" не существует в проекте.

Чего мне не хватает на сервере сборки?

Ответы [ 7 ]

108 голосов
/ 14 мая 2010

Я только что получил это без установки VS2010, выполнив следующие действия на сервере сборки:

  1. Если .NET Framework 4 не установлен, установите его
  2. Установите инструмент веб-развертывания с http://www.iis.net/download/webdeploy
  3. Из папки C: \ Program Files \ MSBuild \ Microsoft \ VisualStudio \ v10.0 на компьютере разработчика скопируйте папки «Web» и «Web Applications» в эквивалентный каталог на сервере сборки.

Кажется, это работает для меня

9 голосов
/ 23 января 2014

Я знаю, что это старый вопрос, но недавно я столкнулся с той же проблемой, и ни один из ответов не помог. На моем сервере сборки отсутствовал следующий файл:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio
    \v11.0\Web\Microsoft.Web.Publishing.targets

импортируется:

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

Надеюсь, это поможет кому-то вроде меня:)

5 голосов
/ 08 сентября 2017

Вы можете установить MSBuild.Microsoft.VisualStudio.Web.targets пакет. Нет необходимости вручную копировать цели для построения сервера.

2 голосов
/ 23 августа 2017

У меня возникла такая же проблема. Закончилось разрешением, добавив это:

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

<Import Project="$(MSBuildToolsPath)\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" />

к моей .csproj fiie.

1 голос
/ 23 апреля 2010

На сервере сборки должен быть установлен .Net 4.0. В результате установки .Net 4.0 будет установлен новый MSBuild 4.0, который поддерживает упаковку проектов веб-приложений.

Кроме того, когда вы запускаете msbuild.exe, убедитесь, что вы используете тот, который находится в папке .Net 4.0 framework.

0 голосов
/ 26 марта 2014

Также рассмотрите возможность использования msbuild с версией, соответствующей версии инструмента веб-развертывания. Я столкнулся с той же проблемой, что и ОП. Решением было изменить msbuild с 4.5 на 4.0 на buildServer.

0 голосов
/ 09 мая 2010

Чтобы решить эту проблему, установите Visual Studio 2010 на сервере сборки и убедитесь, что установлена ​​функция Visual Web Developer.

...