2013-02-28 13 views
21

Sto distribuendo la mia applicazione in un sito Web di Azure. Ho configurato correttamente il profilo di pubblicazione e configurato tfspreview.com per pubblicare automaticamente utilizzando l'integrazione continua su ogni commit di codice.Evita di eliminare la cartella sul Web Pubblicare

Ho una cartella sul percorso "/ media". Questa cartella contiene immagini e documenti caricati tramite il CMS (umbraco). Questa cartella viene eliminata su ogni distribuzione Web.

Da this answer, ho imparato come aggiungere una regola SkipDelete su .csproj o sul file wpp.targets, ma ogni volta che pubblico il sito l'intera cartella viene cancellata comunque.

Ecco il codice Attualmente sto usando wpp.targets interna:

<PropertyGroup> 
<AfterAddIisSettingAndFileContentsToSourceManifest> 
    AddCustomSkipRules 
</AfterAddIisSettingAndFileContentsToSourceManifest> 
</PropertyGroup> 

<Target Name="AddCustomSkipRules"> 
<Message Text="Adding Custom Skip Rules" /> 
<ItemGroup> 
    <MsDeploySkipRules Include="SkipMediaFolder"> 
    <SkipAction>Delete</SkipAction> 
    <ObjectName>filePath</ObjectName> 
    <AbsolutePath>media</AbsolutePath> 
    </MsDeploySkipRules> 
</ItemGroup> 
</Target> 

<PropertyGroup> 
<UseMsDeployExe>true</UseMsDeployExe> 
</PropertyGroup> 
+0

mette la cartella fuori dalla directory della soluzione. Idealmente, crea la tua directory virtuale di un livello sopra la radice di IIS. –

+0

È già = D – amhed

+0

interessante. Questo è il modo in cui il nostro amministratore di IIS ha creato il nostro. Ha creato un'altra directory per caricare le immagini. Gli chiederò quando posso se non ottieni una risposta. –

risposta

2

Non è forse solo una questione di deselezionando la casella nella procedura guidata pubblicazione (i Punto) che dice "Elimina tutti i file esistenti prima di pubblicare "? So che l'opzione è disponibile quando si imposta la pubblicazione dal lato di Visual Studio: mi sembra che le credenziali di pubblicazione di Azure ti forniscano solo la connessione e non le impostazioni che esegui tramite la procedura guidata.

+0

Ehi @ericF dopo aver scaricato il profilo di pubblicazione ho modificato le impostazioni e deselezionato l'opzione "elimina file aggiuntivi alla destinazione". Ho letto che a volte questa opzione non funziona ed è per questo che sto provando le regole Skip su wpp.targets – amhed

+0

Ha funzionato per me nel server privato. –

1

Guardando oltre la questione si collega da e per il codice che avete fornito in precedenza, sembra che è necessario modificare la riga:

<AbsolutePath>ErrorLog</AbsolutePath> 

a

<AbsolutePath>media</AbsolutePath> 

come questo si riferisce alla cartella che non vuoi cancellare. ErrorLog era la cartella che l'autore dell'altro interrogativo non desiderava eliminare.

+0

Sì, troppa copia/incolla. L'avevo già risolto, ancora non funziona. – amhed

Problemi correlati