atualizei do VS2010 para o VS2013 agora não consigo publicar
-
20-12-2019 - |
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.
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).