2010-06-28 14 views
20

Eventuali duplicati:
Copy to Output Directory copies folder structure but only want to copy filesVisual Studio: invio di file "di contenuto" alla directory di output anziché a una sottodirectory?

sto usando VS2010. Ho un progetto C# che utilizza alcune DLL native. Nel mio albero dei sorgenti, ho questi file nativi memorizzati in una directory "DLL" sotto la directory principale della soluzione. Nel mio progetto C#, ho la cartella "DLL" elencata con ognuna delle DLL al suo interno. Ogni DLL è impostata per creare azioni "Contenuto" e "Copia in uscita" impostate su "Sempre".

Sfortunatamente, poiché questi file si trovano in una sottodirectory, VS sembra pensare che dovrebbero essere distribuiti in questo modo. Invece di essere distribuiti su \ bin \ Debug, vengono distribuiti su \ bin \ Debug \ DLLs. C'è un modo semplice per convincere VS a distribuirli direttamente su \ bin \ Debug, o dovrò fare qualche tipo di azione di compilazione personalizzata per copiarli in posizione?

risposta

21

Questo perché li hai inseriti in una cartella nella soluzione. La soluzione pragmatica è semplicemente aggiungerli alla radice della soluzione, la posizione effettiva del file non ha importanza. Questo forse crea un po 'di confusione nella finestra di Solution Explorer. Se questo è inaccettabile, allora un evento di pre-build che usa xcopy/d è la soluzione alternativa.

xcopy /d "$(ProjectDir)DLLs\*.dll" "$(TargetDir)"

+0

Sì, questo è quello che ho pensato. Grazie. – markerikson

0

Stiamo usando Build Events per una cosa del genere. Basta scrivere il comando xcopy e copiare tutte le DLL nella cartella desiderata

0

Penso che sia necessaria l'azione di compilazione. Non è necessario creare un intero script di compilazione, tuttavia nella scheda "Crea eventi" delle proprietà del progetto è possibile specificare cosa fare nella "riga di comando dell'evento Post-build".

Problemi correlati