2014-07-27 5 views

risposta

11

Ho avuto lo stesso problema e risulta che l'applicazione Web che ho distribuito aveva accumulato un sacco di directory e file specifici dell'utente in una directory personalizzata per caricare/segnalare file/ecc. Visual Studio controlla e aggiorna gli ACL per ogni file e directory ed è per questo che ci vuole così tanto tempo se ce ne sono molti.

Controlla le directory con una grande quantità di contenuti generati dagli utenti o altro contenuto con molti file e controlla se puoi eliminarli in tutta sicurezza (ad esempio se quei file vengono creati solo temporaneamente - come è stato il caso qui) .

Dopo aver pulito la directory sul server Web, la distribuzione è quasi istantanea per gli aggiornamenti incrementali, che sono stati molto lenti prima del processo di pulizia.

+0

Questo è molto simile a un problema che sto avendo . Nel mio caso, i file sono importanti e non riesco a eliminarli. Sai se esiste un modo per dire a msdeploy che certe directory semplicemente ignorano? –

+0

@LelandRichardson Non ho controllato ma forse hai trovato una risposta qui http://stackoverflow.com/questions/12576662/msdeploy-skip-rules-when-using-msbuild-publishprofile-with-visual-studio-2012 –

+0

I trascorri qualche ora cercando di eseguire il debug di questa stupida cosa, cercando di vedere se qualcuno ha problemi con le definizioni di build, con build server, con permessi ecc. E alla fine, guarda che ... solo alcuni file extra che vanno in crash tutto .. . La ringrazio per la risposta. – ShP

3

Sembra che ci siano troppi file e ci vuole molto tempo. Ho risolto lo stesso problema aggiungendo la seguente riga al file .pubxml.

<IncludeSetACLProviderOnDestination>False</IncludeSetACLProviderOnDestination> 
+0

È necessario elaborare i compromessi quando gli ACL non sono impostati. Come sarà diverso il sito pubblicato con questa impostazione? Ci sono ulteriori tempi di compensazione richiesti dopo la pubblicazione? –

0

Aprire il file e aggiungere .pubxml

<IncludeSetACLProviderOnDestination>False</IncludeSetACLProviderOnDestination> 

sotto

<PropertyGroup> 

che dovrebbe apparire come

<?xml version="1.0" encoding="utf-8"?> 
<!-- 
This file is used by the publish/package process of your Web project. You can customize the behavior of this process 
by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121. 
--> 
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
    <IncludeSetACLProviderOnDestination>False</IncludeSetACLProviderOnDestination> 
Problemi correlati