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?

Foi útil?

Solução

Acabei de trabalhar isso sem instalar o VS2010 seguindo estas etapas no servidor de construção:

  1. Se .NET Framework 4 não estiver instalado, instale -o
  2. Instale a ferramenta de implantação da Web de http://www.iis.net/download/webdeploy
  3. 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.

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