2010-04-09 5 views
66

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

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

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

error MSB4057: The target "package" does not exist in the project.

Что я отсутствующий на сервере сборки?

ответ

107

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

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

Это похоже на работу для меня

+3

Также убедитесь, что вы используете версию MSBuild.exe .net 4! (в% windows% \ Microsoft.net \ Framework \ v4.0.30319) – AndyM

+7

В моем случае проблема заключалась в том, что я скопировал папку «Веб-приложения», но не папку «Веб». – willem

+0

Этот ответ избавился от этой ошибки. Спасибо, spmason! – Stewie

1

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

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

-3

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

+5

Нет необходимости устанавливать Visual Studio на сервер сборки. Процесс сборки/развертывания зависит только от нескольких файлов (см. Сообщение пользователя spmason) –

+2

Я очень стараюсь, чтобы это не было ... –

+0

Это перебор – Matt

9

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

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 

Надеется, что это помогает кто-то вроде меня :)

+2

работал на меня ... Я скопировал папку с целевыми папками web-приложений, но не в веб-папку ... сборка будет успешной, но просто не будет развернута. – jdmonty

+0

Это было проблема для меня с Visual Studio Build Tools 2017. Я не выбрал рабочую нагрузку «Инструменты для создания веб-разработок», поэтому цель веб-публикации не была установлена. Измените установку, чтобы включить ее. –

-1

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

0

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^