Pergunta

Posso publicar sem problemas no Visual Studio 2010, mas quando tento publicar com o Visual Studio 2013 recebo esta mensagem:

O destino "MSDeployPublish" não existe no projeto.\Source2\Web Projects\SubService\subservice\subservice.csproj 0 0 subserviço

Alguém pode me dizer o que preciso fazer para resolver isso?Está acontecendo com 2 projetos diferentes.

Foi útil?

Solução 3

Após 4 horas eu encontrei um post não diretamente relacionado a isso, mas eu peguei um tiro cego e funcionou:

Instalar a partir de "Web Platform Installer" Eu instalei o "Windows Azure SDK para .NET (vs 2013)" e que funcionou!

Outras dicas

Pelo que vale;

Eu tive o mesmo problema.Máquina Windows 8.1 recém-instalada, instalada apenas Visual Studio 2013 (+update1) + SDK do Azure.Criar novo projeto de API da Web estrondo erro de compilação -

O projeto importado "C: Arquivos de Programas (x86) msbuild Microsoft VisualStudio V10.0 WebApplications Microsoft.WebApplication.Targets" não foi encontrado.Confirme se o caminho na declaração está correto e que o arquivo existe no disco.

observe a v10.0.Este é o substituto padrão quando nenhum parâmetro do MSBuild "VisualStudioVersion" foi definido. Antes do VS2012, os caminhos para os arquivos de destino foram codificados.Outras soluções para esses bugs dizem para remover o seguinte do seu csproj que é adicionado para compatibilidade com versões anteriores:

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

Mas remover isso corrige suas compilações, mas interrompe o recurso de publicação com o erro do postador original:

O destino "MSDeployPublish" não existe no projeto

Observação:Tenho todas as partes do SDK relacionadas ao Azure instaladas no instalador da plataforma web.

Recorri a adicionar novamente a parte XML acima ao meu arquivo csproj, mas alterando o 10.0 parte para 12.0 (=vs2013)

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

Isso pode quebrar a compatibilidade com versões anteriores, mas finalmente fez meu Visual Studio 2013 compilar o código e fazer o recurso de publicação funcionar novamente.

Se não quiser instalar o visual studio no servidor de compilação, você pode usar este pacote NuGet com versão portátil dos destinos: https://www.nuget.org/packages/MSBuild.Microsoft.VisualStudio.Web.targets e modifique seu arquivo csproj para incluí-lo assim:

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

Solução postada originalmente aqui: Onde MsDeploy se localiza? (no meu caso já era MSBuild.Microsoft.VisualStudio.Web.targets.14.0.0).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top