2009-11-30 11 views
9

Se lancio il prompt dei comandi RAD Studio e corroIn che modo MSBuild trova il percorso di ricerca Delphi?

msbuild /t:Rebuild 

in una directory del progetto, msbuild mostrerà la riga di comando completa per invocare dcc32, tra cui tutte le impostazioni di percorso.

Che tipo di magia non MSBuild utilizza per trovare i percorsi di ricerca, in base alle impostazioni IDE (memorizzate nel Registro di sistema) e il file di progetto (che contiene segnaposto come $ (DCC_UnitSearchPath)?

Il comando RAD Studio prompt imposta solo l'ambiente .Net per MSBuild. Quindi c'è qualcos'altro che lavora dietro le quinte?

risposta

15

Se si esamina il file di progetto, è Noterete che include CodeGear.Delphi.Targets che include CodeGear.Common.Targets che a sua volta include EnvOptions.proj. EnvOptions.proj viene aggiornato dall'IDE per contenere i percorsi dal registro.

+0

dispiace non riesco a trovare EnvOptions.proj (o la directory), esso viene fatto riferimento come $ (APPDATA) \ CodeGear \ $ (BDSAppDataBaseDir) \ 6.0 \ EnvOptions.proj – mjn

+3

Look in C: \ Documents and Settings \ \ Dati dell'applicazione \ CodeGear \ BDS \ 6.0 se si utilizza XP o C: \ Users \ \ AppData \ Roaming \ CodeGear \ BDS \ 6.0 se si utilizza Vista o Windows 7. –

+0

Grazie! La mia prima ricerca non includeva le cartelle nascoste: P – mjn

1

Ti sei avvicinato alle inclusioni del progetto? Dovresti essere in grado di indovinare dove viene calcolato (es. quale Attività) e usa Reflector per decodificarlo, ricorda che un MSBuild è solo un testo [molto stravagante]

Oppure è possibile attivare la registrazione dettagliata e scoprire quale attività la calcola in questo modo.

Oppure si potrebbe usare ProcMon di monitorare quali REGKEYS vengono sondati ecc

Oppure si potrebbe aspettare per Barry a venire insieme e dare una risposta definitiva: P

Problemi correlati