2009-10-29 14 views
13

C'è un modo per impostare Visual Studio per pubblicare tutti i file PDF?Come impostare Visual Studio per pubblicare automaticamente i file PDF

So che è possibile impostare ogni singolo file PDF in un progetto con la proprietà "Contenuto" "Contenuto".

Ma ciò significa fare la stessa cosa centinaia di volte per il mio progetto attuale, c'è un modo per cambiare un ambiente globale per fare la stessa cosa?

+0

pubblicare file PDF? Che ne dici di mettere i file PDF fuori dal tuo progetto e mapparli tramite una cartella virtuale sul tuo server web? –

+0

I server web non sono realmente i problemi, il problema è ottenere i fi le pdf che sono stati utilizzati e manuali/documenti/download sono stati aggiunti al progetto, ma è necessario impostarne uno in modo tale che al momento della pubblicazione vengano trasferiti al server. una volta lì è tutto a posto. – TheAlbear

+0

Che ne dici di utilizzare la selezione multipla? Bastano pochi clic del mouse e il gioco è fatto.Oppure, se i documenti PDF sono distribuiti tra la struttura del progetto, aprire il file di progetto in un editor di testo e effettuare una ricerca e sostituzione globali. –

risposta

2

supponga di avere i file PDF si desidera distribuire fuori del progetto in c: \ file PDF, modificare il Csproj

<ItemGroup> 
    <Content Include="c:\PDFs\**\*.pdf" /> 
</ItemGroup> 

Se sono in una cartella "MyPdfs" relativo alla radice del progetto

<ItemGroup> 
    <Content Include="MyPdfs\**\*.pdf" /> 
</ItemGroup> 

Alcuni ulteriori dettagli su questo possono essere trovati sul: https://stackoverflow.com/a/12202917/37055

1

È possibile modificare direttamente il file di progetto per aggiungere gli elementi richiesti <CopyToOutputDirectory>Always</CopyToOutputDirectory> ai file PDF. (Se il progetto non è sotto il controllo di origine, di test su una copia prima e mantenere i backup nel caso in cui tutto va storto)

5

Aggiungi un post evento di compilazione con il seguente comando:

xcopy "$(ProjectDir)myPdfs\*.pdf" "$(TargetDir)myPdfs\" /S /Y 

nota nella il comando precedente myPdfs è solo una sottocartella della directory del progetto che contiene tutti i file PDF. Se si dispone di più di una di queste sottocartelle, è necessario eseguire il comando per ciascuna di esse.

Spero che questo funzioni !!

+1

Sembra che questa sia l'opzione migliore. – TheAlbear

15

c'è un modo più semplice, è necessario assicurarsi che il file sia incluso nel progetto prima, quindi fare clic con il tasto destro del mouse sul file vai su Proprietà, ci sarà un'opzione "copia nella directory di output", scegliere "copia sempre"

Buona fortuna

+7

Devi anche impostare "Crea azione" su "Contenuto", quindi questa è la migliore risposta. – paul

+2

-1 Copia copia sempre nella directory bin. La risposta di Vinblad è corretta. Modifica l'azione di costruzione sul contenuto. – adam0101

+0

Grazie @paul .. "Copia sempre" da solo non fa il trucco. L'impostazione dell'azione build risolve il problema. – user1003916

1

CopyToOutputDirectory copierà i file nella cartella bin al momento della pubblicazione. L'impostazione "Crea azione" su "Contenuto" copierà i file senza la necessità dell'impostazione CopyToOutputDirectory. Ma questo deve ancora essere fatto su ogni file. È possibile sostituire un regex nel file di progetto da <None Include="XXX.pdf" /> a <Content Include="XXX.pdf" />.

2

Aprire il csproj di file e il cambiamento:

<None Include="my.pdf"> 

a:

click
<Content Include="my.pdf"> 
13

Basta destro sul file che si desidera includere, scegliere Proprietà, nell'azione proprietà finestra di costruire il cambiamento ai contenuti . Questo includerà il file durante la pubblicazione.

+1

Dovrebbe essere la risposta effettiva. Grazie compagno. – fuzz

+1

questa è una risposta migliore. – kaptan

Problemi correlati