Domanda

Voglio impacchettare il mio progetto di applicazione Web VS2010 pronto per la distribuzione con MSDeploy. Sulla macchina per lo sviluppo posso farlo usando:

MSBuild.exe "C:\path\to\WebApp.csproj" /target:package

Ma sul mio server build ricevo questo errore:

Errore MSB4057: il "pacchetto" di destinazione non esiste nel progetto.

Cosa mi manca sul server build?

È stato utile?

Soluzione

Ho appena funzionato senza installare VS2010 seguendo questi passaggi sul server Build:

  1. Se .NET Framework 4 non è installato, installalo
  2. Installa lo strumento di distribuzione Web da http://www.iis.net/download/webdeploy
  3. Dalla cartella C: Programmi MSBuild Microsoft VisualStudio V10.0 sulla tua macchina Dev Copia le cartelle "Web" e "Web Applications" alla directory equivalente sul server Build.

Questo sembra funzionare per me

Altri suggerimenti

So che è una vecchia domanda, ma di recente ho riscontrato lo stesso problema e nessuna delle risposte mi ha aiutato. Mi mancava il seguente file sul mio server build:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio
    \v11.0\Web\Microsoft.Web.Publishing.targets

È importato da:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio
    \v11.0\WebApplications\Microsoft.WebApplication.targets

Spero che questo aiuti qualcuno come me :)

Puoi installare Msbuild.microsoft.visualstudio.web.targets pacchetto. Non è necessario copiare manualmente gli obiettivi per costruire il server.

Ho riscontrato lo stesso problema. Finito per risolvere aggiungendo questo:

<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" />

al mio .csproj fiie.

È necessario installare .NET 4.0 sul server build. L'installazione .NET 4.0 metterà il nuovo MSBuild 4.0 che supporta i progetti di applicazione Web di imballaggio.

Inoltre, quando si esegue msbuild.exe, assicurati di eseguire quello che si trova nella cartella Framework .NET 4.0.

Considera anche l'utilizzo di MSBuild con la versione, corrispondente alla versione dello strumento di distribuzione Web. Ho affrontato lo stesso problema dell'OP. La soluzione era quella di cambiare MSBuild da 4,5 a 4,0 su buildserver.

Per risolvere questo problema installa Visual Studio 2010 sul server build e assicurati di installare Visual Web Developer caratteristica.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top