обновлен с VS2010 до VS2013, теперь я не могу публиковать

StackOverflow https://stackoverflow.com//questions/20003559

Вопрос

Я могу публиковать без проблем в Visual Studio 2010, но когда я пытаюсь опубликовать с помощью Visual Studio 2013, я получаю это сообщение:

Целевой объект "MSDeployPublish" не существует в проекте.\Source2\Веб-проекты\Подсервис\subservice\subservice.csproj 0 0 подсервис

Кто-нибудь может сказать мне, что мне нужно сделать, чтобы решить эту проблему?Это происходит с двумя разными проектами.

Это было полезно?

Решение 3

Через 4 часа я нашел сообщение, не связанный с этим, но я сделал слепой выстрел, и он работал:

Установка из «Установщик веб-платформы» Я установил «Windows Azure SDK SDK для .NET (VS 2013)», и что работал!

Другие советы

Чего бы это ни стоило;

У меня была такая же проблема.Недавно установленный компьютер с Windows 8.1, установлены только Visual Studio 2013 (+ update1) + Azure SDK.Создать новый проект веб-Api бум ошибка сборки -

Импортированный проект "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" не найден.Убедитесь, что путь в объявлении указан правильно и что файл существует на диске.

обратите внимание на версию 10.0.Это резервный вариант по умолчанию, когда параметр MSBuild "VisualStudioVersion" не был установлен. До версии VS2012 пути к целевым файлам были жестко запрограммированы.Другие решения для этой ошибки говорят чтобы удалить следующее из вашего csproj который добавлен для обратной совместимости:

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

Но удаление этого исправляет ваши сборки, но нарушает функцию публикации с ошибкой исходных плакатов:

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

Примечание:У меня есть все связанные с Azure части SDK, установленные из установщика веб-платформы.

Я прибегнул к повторному добавлению вышеупомянутой XML-части в мой файл csproj, но изменил 10.0 часть для 12.0 (=vs2013)

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

Это могло бы нарушить обратную совместимость, но в конце концов заставило мою Visual Studio 2013 скомпилировать код и снова запустить функцию публикации.

Если вы не хотите устанавливать Visual Studio на сервере сборки, вы можете использовать этот пакет Nuget с портативной версией целей: https://www.nuget.org/packages/msbuild.microsoft.visualstudio.web.targets и измените свой файл csproj, чтобы включить так:

<Import Project="..\packages\MSBuild.Microsoft.VisualStudio.Web.targets.12.0.1\tools\VSToolsPath\WebApplications\Microsoft.WebApplication.targets" />
.

Решение Первоначально опубликовано здесь: Где находится MSDEPOLDPUBLISH? (В моем случае это было уже msbuild.microsoft.visualstudio.web.targets. 14.0.0 ).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top