2015-09-14 11 views
10

Sto pubblicando un'applicazione Web da Visual Studio 2013. Ho bisogno di includere cartelle che non fanno parte del progetto ed escludere alcune cartelle (alcune a parte il progetto, alcuni non parte del progetto). Così sono andato in proprietà del mio progetto e impostare Items To Deploy campo per All files in this project folder come potete vedere qui sotto:Come escludere le cartelle dalla pubblicazione/distribuzione dell'applicazione Web Visual Studio 2013

enter image description here

Poi ho iniziato a cercare un modo per escludere le cartelle da All files in this project folder. Ho trovato this pagina, in cui si afferma specificamente

L'interfaccia utente di Visual Studio non espone tutte le impostazioni di distribuzione che è possibile configurare. Ad esempio, non è possibile utilizzare l'interfaccia utente per escludere da una singola cartella dalla distribuzione. Tuttavia, è possibile farlo tramite modificando i file che memorizzano le impostazioni di configurazione. Per ogni profilo di pubblicazione è disponibile un file .pubxml che è possibile modificare direttamente.

Questa pagina si collega a un altro che spiega come modificare il file, ma non spiega come escludere cartelle specifiche.

ho trovato altri siti (this one compreso) che spiegavano come escludere le cartelle in versioni precedenti di Visual Studio utilizzando il seguente tag nel file csproj:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> 
    ... 
    <ExcludeFilesFromDeployment>File1.aspx;File2.aspx</ExcludeFilesFromDeployment> 
    <ExcludeFoldersFromDeployment>Folder1;Folder2</ExcludeFoldersFromDeployment> 
</PropertyGroup> 

ma sembra gli elementi XML per il file csproj non sono più rilevanti in VS2013. Ho letto da qualche parte (non ricordo dove sia ora) un suggerimento che questo elemento è stato spostato nel file [PublishProfileName].pubxml, ma il tentativo non ha funzionato.

Sono sicuro che c'è un modo per farlo in Visual Studio 2013, ma per la vita di me, non riesco a capire come. Ho trovato dozzine di domande correlate qui su Stackoverflow, così come altri forum, ma nessuna delle soluzioni funziona per me in VS2013. Ogni aiuto è molto apprezzato.

risposta

15

Questi elementi sono stati effettivamente spostati nel file .pubxml in Visual Studio 2012 e versioni successive. Here's the relevant documentation in MSDN sull'esclusione di file e cartelle dalla distribuzione.

Individuare il file .pubxml rilevante sotto Proprietà/profili di pubblicazione in Visual Studio Solution Explorer e aggiungere un nuovo elemento ExcludeFilesFromDeployment o ExcludeFoldersFromDeployment sotto l'elemento PropertyGroup che elenca i file o le cartelle da escludere, delimitato da un punto e virgola.

Nota che questi elementi non sono stati visualizzati come opzioni nella selezione IntelliSense quando li ho immessi in Visual Studio 2015, ma il progetto è stato compilato e l'esclusione funzionava ancora.

+0

ho notato in VS 2015 sembra IntelliSense non piace il tag '' nel file .pubxml. Funziona correttamente, fa solo la linea blu che dice che non è valida. – nickvans

0

nel file di CpProj si aggiungono quelli delle cartelle e file che non sono da includere nel processo di pubblicazione come questo