обновлен с VS2010 до VS2013, теперь я не могу публиковать
-
20-12-2019 - |
Вопрос
Я могу публиковать без проблем в 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.