Pacote de destino msbuild não encontrado
-
25-09-2019 - |
Pergunta
Quero empacotar meu projeto de aplicativo da Web VS2010 pronto para implantação com o MSDEPLAPE. Na máquina de desenvolvimento, posso fazer isso usando:
MSBuild.exe "C:\path\to\WebApp.csproj" /target:package
Mas no meu servidor de construção, recebo este erro:
Erro MSB4057: O "pacote" do destino não existe no projeto.
O que estou perdendo no servidor de construção?
Solução
Acabei de trabalhar isso sem instalar o VS2010 seguindo estas etapas no servidor de construção:
- Se .NET Framework 4 não estiver instalado, instale -o
- Instale a ferramenta de implantação da Web de http://www.iis.net/download/webdeploy
- A partir dos arquivos c: programas msbuild Microsoft VisualStudio V10.0 Pasta em sua máquina de dev copiar as pastas "Web" e "Web Applications" para o diretório equivalente no seu servidor de construção.
Isso parece funcionar para mim
Outras dicas
Sei que é uma pergunta antiga, mas recentemente encontrei o mesmo problema e nenhuma das respostas ajudou. Eu estava faltando o seguinte arquivo no meu servidor de construção:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio
\v11.0\Web\Microsoft.Web.Publishing.targets
É importado por:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio
\v11.0\WebApplications\Microsoft.WebApplication.targets
Espero que isso ajude alguém como eu :)
Você pode instalar Msbuild.microsoft.visualstudio.web.targets pacote. Não há necessidade de copiar manualmente os alvos para criar servidor.
Eu experimentei o mesmo problema. Acabou resolvendo adicionando isso:
<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" />
para o meu .csproj fiie.
Você precisa ter o .NET 4.0 instalado no servidor de construção. A instalação .NET 4.0 colocará o novo MSBUILD 4.0, que suporta projetos de aplicativos da web de embalagem.
Além disso, quando você estiver executando o msbuild.exe, certifique -se de executar o que está na pasta do .NET 4.0.
Considere também o uso do MSBuild com versão, correspondendo à versão da ferramenta de implantação da Web. Eu enfrentei o mesmo problema que o OP. A solução foi alterar o MSBuild de 4,5 para 4,0 no BuildServer.
Para resolver esse problema, instale o Visual Studio 2010 no servidor de construção e certifique -se de instalar Visual Web Developer
característica.