Цели MSBuild не найдено


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

MSBuild.exe "C:pathtoWebApp.csproj" /target:package

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

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

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

7 69

7 ответов:

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

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

Это, кажется, работает для меня

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

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

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

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

Я испытал ту же проблему. В конечном итоге решение путем добавления этого:

<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.

на сервере сборки необходимо установить .Net 4.0. Установка .Net 4.0 поставит новый MSBuild 4.0, который поддерживает проекты веб-приложений для упаковки.

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

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

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