Целевой пакет MSBuild не найден
Я хочу упаковать свой проект веб-приложения VS2010, готовый для развертывания с помощью msdeploy. На машине разработки я могу это сделать, используя:
MSBuild.exe "C:\path\to\WebApp.csproj" /target:package
Но на моем сервере сборки я получаю эту ошибку:
error MSB4057: Целевой "пакет" не существует в проекте.
Что мне не хватает на сервере сборки?
Ответы
Ответ 1
Я просто получил эту работу без установки VS2010, выполнив следующие шаги на сервере сборки:
- Если .NET Framework 4 не установлен, установите его
- Установите инструмент Web Deployment из http://www.iis.net/download/webdeploy
- В папке C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0 на вашем компьютере-разработчике скопируйте папки "Web" и "Веб-приложения" в эквивалентную директорию на вашем сервере сборки.
Кажется, это работает для меня
Ответ 2
Я знаю, что это старый вопрос, но я недавно столкнулся с той же проблемой, и ни один из ответов не помог. Мне не хватало следующий файл на моем сервере сборки:
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
Надеюсь, это поможет кому-то вроде меня:)
Ответ 3
У вас должен быть установлен .Net 4.0 на сервере сборки. Установка .Net 4.0 добавит новый MSBuild 4.0, который поддерживает проекты веб-приложений для упаковки.
Кроме того, при запуске msbuild.exe убедитесь, что вы используете тот, который находится в папке framework.Net 4.0.
Ответ 4
У меня возникла одна и та же проблема. Завершилось решение, добавив следующее:
<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.
Ответ 5
Вы можете установить MSBuild.Microsoft.VisualStudio.Web.targets пакет. Нет необходимости вручную копировать цели для сборки сервера.
Ответ 6
Также рассмотрите возможность использования msbuild с версией, соответствующей версии инструмента Web Deployment.
Я столкнулся с такой же проблемой, как и у ОП. Решение заключалось в изменении msbuild с 4.5 до 4.0 на buildServer.
Ответ 7
Чтобы решить эту проблему, установите Visual Studio 2010 на сервер сборки и убедитесь, что вы установили функцию Visual Web Developer
.