Ho una soluzione C++ in VS2008 con più progetti. Questa soluzione contiene i file necessari in fase di runtime, che vengono caricati in base a un percorso relativo alla directory della soluzione (ad esempio "Testing/data/" + "dataN.bin"
).Modifica della "directory di debug/di lavoro" globalmente (non per utente) in VS2008
Affinché questa soluzione per lavorare, devo impostare la directory di lavoro impostazione nel progetto (s) in modo che punterà alla directory soluzione (ad esempio Configuration Properties >> Debugging >> Working Directory = $(SolutionDir)
). Funziona bene quando eseguo il debug sul mio PC. Tuttavia, quando un utente diverso carica la mia soluzione, i suoi progetti non hanno questa proprietà impostata correttamente.
Ho tracciato questa impostazione per non essere memorizzato nel file di progetto (PROJECT.vcproj
), ma nel file specifico dell'utente creato per esso (PROJECT.vcproj.DOMAIN.USER.user
).
Vorrei un modo per memorizzare questa impostazione per TUTTI gli utenti, senza doverla impostare manualmente ancora e ancora.
I miei pensieri erano:
- trovare un modo per negozio questo nel file .vcproj (non quello specifico per l'utente) o il file di soluzione.
- Trovare un modo per creare un "file specifico utente predefinito", da cui verranno avviate tutte le impostazioni specifiche dell'utente (e possono essere modificate in seguito).
Tuttavia, non ho trovato un modo per fare uno di questi.
Un paio di note/vincoli:
- ho bisogno di lavorare con molti file di grandi dimensioni come queste risorse, quindi vorrei evitare di eseguire copie da diverse directory.
- Le soluzioni devono supportare più configurazioni di build (debug, release, ecc.).
- Vorrei evitare gli script di pre/post build, se possibile, per mantenere le cose semplici (priorità bassa).
Qualsiasi aiuto sarà apprezzato ... grazie in anticipo.
Copia delle risorse: questo sarebbe il trucco, tuttavia ho una grande quantità di risorse da copiare (in questo caso, i vettori di test di grandi dimensioni), e sarebbe uno spreco di tempo e di memoria per copiarle ogni volta. Inoltre, ho più configurazioni di build (release, debug, ...), che causeranno ulteriori duplicazioni che desidero evitare. Ha senso che questi vettori siano nella directory "soluzione" di root, dato che questi dati sono usati da più progetti (in modi diversi). Inoltre, vorrei mantenere l'ordine nell'elenco dei file della soluzione (riguardante la struttura delle directory). – scooz
Il rovescio della medaglia, copiare il risultato dell'eseguibile nella directory della root solution non solo causerà un disordine nella directory root, ma non supporterà correttamente più configurazioni di build (manterrà i file con lo stesso nome, ecc.). Sembra che per scopi di debug, la cosa più logica da fare sia cambiare la directory di lavoro. Riguardo ai problemi di distribuzione che hai sollevato (che sono d'accordo), preferirei complicare le cose lì rispetto a quando eseguo il debug (poiché distribuisco meno spesso di quanto non faccia il debug) – scooz
Questo è il motivo per cui ho sottolineato il comportamento dell'opzione xcopy/d. Stai pagando la copia una sola volta. –