2009-08-23 11 views
5

Ho cercato su MSDN, non sono riuscito a trovarlo.
Ho trovato un XML Schema for the .vcproj file, che è bello.
Ma quello che voglio veramente è una spiegazione per ciascuno degli elementi nel file vcproj, un riferimento.Dove posso trovare un riferimento per la struttura del file .vcproj?

La domanda immediata di fronte a me è, qual è il significato dell'attributo UniqueIdentifier nell'elemento VisualStudioProject/Files/Filter? L'UUID per i file di origine è uguale per tutti i progetti? O è unico a livello globale?

<VisualStudioProject> 
    ... 
    <Files> 
     <Filter 
     Name="Source Files" 
     Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" 
     UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" 
     > 
     <File ... /> 
      ... 
     </Filter> 
     <Filter 
     Name="Header Files" 
     Filter="h;hpp;hxx;hm;inl;inc;xsd" 
     UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" 
     > 
     <File ... /> 
      ... 
     </Filter> 
     <Filter 
     Name="Resource Files" 
     Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" 
     UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" 
     > 
     <File ... /> 
      ... 
     </Filter> 
    </Files> 
    <Globals> 
    </Globals> 
</VisualStudioProject> 

Ma dopo aver risposto a questa domanda sono sicuro che ne avrò altri 10000. Quindi mi piacerebbe avere un riferimento, che mi permetta di modificare direttamente il .vcproj.

Qualcuno può suggerire?

EDIT: Anche se MS non documenta che, ogni elemento fa hanno un significato. Qualcuno sa di una lista o di un sommario?

+0

Questo migliorerà in Visual Studio 2010 se leggerai il blog del loro team, troverai i riferimenti alle modifiche. Lo chiederei nei forum MS se non hai una risposta qui. – Rick

risposta

2

Sospetto che Microsoft non intenda rendere il formato documentato. Microsoft ha dichiarato in passato che le funzionalità e i formati documentati richiedono in alcuni casi un ordine di grandezza in più di lavoro.

Se il formato non è documentato, è perché Microsoft vuole in questo modo. Tutta la documentazione sarà attraverso l'analisi e il reverse engineering.

+0

Posso credere che MS non abbia documentato il formato. Ma è XML, è leggibile. Qualcuno, ovunque, ha fatto l'analisi e il reverse engineering? – Cheeso

+0

I nomi dei nodi XML corrispondono più o meno alle opzioni nelle pagine di gestione/proprietà di configurazione per il progetto. Non dovrebbe essere la chirurgia a razzo per capirlo. –

2

Non so per cosa ti serva, quindi potrebbe essere rilevante o meno, ma Visual Studio 2010 eliminerà il formato .vcproj. ;)

Passano a .vcxproj, che si basa su MSBuild. (E come tale, sarà anche completamente documentato)

Quindi potrebbe essere più facile mirare a ciò, almeno nel lungo periodo.

Per quanto riguarda i GUID, credo che ognuno di loro debba essere unico. Non penso ci sia alcuna relazione tra loro (due elementi non dovrebbero mai avere lo stesso GUID).

Microsoft ama solo dare tutto il proprio GUID. Non sai mai quando ne avrai bisogno! ;)

+0

So che il file di progetto cambierà, ma ... Non ho il budget per VS2010. Dopo averlo esaminato ulteriormente, "File di origine" (la raccolta) ha un GUID, "File di intestazione" ha un GUID e "File di risorse" ha un GUID e questi sembrano essere gli stessi GUID tra i progetti. – Cheeso

0

Penso di ricordare un problema con una versione molto vecchia di CMake da fare con UniqueIdentifier, che non erano propriamente unici. Se sono corretto, il problema è stato risolto e uniqueIdentifier dovrebbe essere un GUID.

Siamo spiacenti, non posso essere più di aiuto. Mi sono trasferito su cmake e ora non devo fare casino con i file vcproj, sono generati per me.

Probabilmente è possibile trovare ulteriori informazioni sul sito CMake, poiché hanno un generatore per i file di progetto vc che devono aver già eseguito tutto il reverse engineering.

+0

Anche QT ha un generatore (qmake) per i file di progetto vc da file .pro che sono definiti da QT. – metdos

1

Tutti gli elementi nel file .vcproj sono documentati, in una sorta di, cioè la documentazione di DevStudio per le interfacce di automazione VS descrive gli oggetti/le proprietà del progetto e gli oggetti/le proprietà del progetto vengono mappati direttamente agli elementi/attributi xml.

+0

Vale la pena dare un'occhiata, grazie. – Cheeso

Problemi correlati