2011-01-04 18 views
17

Ho una grande soluzione di Visual Studio 2010. Lavoro con Visual Studio 2005, quindi voglio convertire la soluzione nella versione desiderata. Fondamentalmente, è un codice C++ portatile quindi dovrebbe essere compilato anche su Visual Studio 2005. La modifica della versione nel file * .sln non aiuta perché il formato * .vcxproj è completamente diverso dal vecchio formato * .vcproj.Come eseguire il downgrade della soluzione da Visual Studio 2010 a Visual Studio 2005?

Ricreare la soluzione a mano non è un'opzione per le sue dimensioni. Inoltre, potrebbero non esserci alcuni flag di compilazione non di default, dipendenze, ecc. Di cui non sono a conoscenza (e non riesco a dare un'occhiata a TUTTA questa spazzatura XML che non capisco).

Esiste già una questione connessa su How Do I Downgrade a C++ Visual Studio 2008 Project to 2005. Tuttavia, l'utilità ha suggerito ci supporta al massimo Visual Studio 2008.

Qualche suggerimento?

+6

Penso che tu sia SOL –

+2

Se c'è un modo in cui non mi fiderei. Fallo manualmente –

+0

Hai provato questo http://sourceforge.net/projects/vsconverter/?[Non l'ho provato] –

risposta

0

non l'ho provato, ma questo sembra essere molto promettente:

http://www.emmet-gray.com/Articles/ProjectConverter.htm

edit: No, non promettente, mi spiace :-(

+3

Ahimè "C'è un formato file di progetto completamente nuovo per C/C++ in VS2010, quindi questa utility non sarà in grado di convertire progetti C/C++ in questo nuovo formato. .. " – Rup

+0

Sì, controllato. Non funziona "... attualmente non supportato". – ybungalobill

+0

Ack, questo fa schifo. Speravo che fosse solo una vecchia affermazione, in quanto gli screenshot ti avrebbero portato a credere che funzionasse. Penso che tu sia SOL .. :-( – Caladain

1

Nel mio lavoro ha fatto un programma di utilità che ha utilizzato il EnvDTE.dll e ha scansionato un file vcproj e facoltativamente tutti i file vcproj all'interno di un file sln. Ha confrontato tutte le impostazioni con un "modello" e ha emesso un avviso o, facoltativamente, ha aggiornato l'impostazione per correggere i valori. verificato per essere corretto e coerente in tutti i progetti. Non ho aggiornato l'ut il ility al 2010 ancora a causa di altre priorità.

EnvDTE non è cambiato molto da Visual Studio 2008 a Visual Studio 2010. Forse è possibile creare una semplice utility che apre il file vcxproj usando DTE100 e lo salva usando DTE90, o prima.

1

Il modo più semplice è probabilmente quello di creare un nuovo progetto in VS 2005, e utilizzare la finestra di dialogo Aggiungi un nuovo elemento esistente per aggiungere il codice al progetto. Ti suggerirei di utilizzare 'Empty Project' come tipo di progetto, quindi non hai molti rifiuti autogenerati per te che eliminerai comunque.

+1

Non risolve la parte più difficile: non riesco a impostare tutti i flag di compilazione e le dipendenze in una soluzione ~ progetto di 100 a mano – ybungalobill

4

Fa schifo davvero tutto, che ogni IDE proprietario oggi pensa di cui ha bisogno per creare il proprio formato file di progetto. "Cari sviluppatori IDE, usate semplicemente Makefile e create una bella GUI per far sì che anche le persone senza la conoscenza di Makefile possano usarlo!" In VS6 era almeno possibile importare/esportare Makefile, ma non oggi più. Ed è stato possibile utilizzare nmake per le build automatizzate. Non è stato necessario installare IDE, solo la toolchain che potrebbe essere afferrata da un semplice checkout senza installazione.

Io uso CMake ora. È gratuito, è multipiattaforma, è ben supportato in IDE gratuiti come KDevelop, QtCreator, ecc. Può generare progetti Makefile e Visual Studio. Quindi si mantiene solo una fonte di progetto, il file CMakeLists.txt e può funzionare con qualsiasi IDE. Nessun problema con versioni diverse di Visual Studio o con altri formati di file di progetto proprietari. In questo modo è possibile generare o progetti VS per lo sviluppo ed è possibile generare Makefile per le build a riga di comando utilizzando nmake come nei bei vecchi tempi.

A proposito, è molto più facile per modificare le impostazioni in un CMakeLists.txt che cliccare attraverso varie finestre di dialogo GUI. Ma questa è una questione di preferenze personali.

+3

1) VS sostiene 'progetti nmake'. fino ad oggi. 2) MS è passata a MSBuild per descrivere la costruzione dei progetti. 3) Sono scettico su quanto sia possibile creare un make-up di modifica della GUI. 4) Perché pensi che lo stile di gnu debba essere lo "standard"? È un sistema di costruzione così brutto. Richiede di scrivere tutte queste cose a mano (buona fortuna per rendere portatili i tuoi makefile attraverso diversi toolchain), o usare gli strumenti di autoconf che sono ancora più brutti. Ci sono sistemi di build migliori là fuori (boost build, scons). – ybungalobill

+1

5) Odio CMake, perché proprio come con configure/make non è un sistema di compilazione a un passo. Prova a creare 4 diverse configurazioni in una chiamata a linea di comando ... boost.build lo risolve in larga misura. 6) Come risponde alla domanda? – ybungalobill

+1

Di tutto ciò che hai detto sono d'accordo con te su una cosa: fa schifo che ogni IDE abbia il proprio formato di file di progetto. Inoltre, i progetti IMO non dovrebbero esistere. L'IDE dovrebbe essere in grado di 'aprire' makefile arbitrario (sia nmake, gmake, boost.build o qualsiasi altro sistema di build) che userà solo per scopi di costruzione, e invece di "Solution Explorer" voglio vedere un semplice vecchio File system tree rooted at the open makefile. – ybungalobill

Problemi correlati