¿Cómo encuentra MSBuild la ruta de búsqueda de Delphi?
(2)
¿Has recorrido las inclusiones del proyecto? Debería poder adivinar dónde se está calculando (es decir, qué Tarea) y usar el Reflector para realizar una ingeniería inversa. Recuerde, un MSBuild es solo un texto [muy raro].
O puede activar el registro detallado y descubrir qué Tarea lo calcula de esa manera.
O puede usar procmon para controlar qué regkeys están sondeándose, etc.
O podrías esperar a que Barry venga y dé una respuesta definitiva: P
Si abro el símbolo del sistema de RAD Studio y corro
msbuild /t:Rebuild
en un directorio de proyecto, msbuild mostrará la línea de comando completa para invocar a dcc32, incluidas todas las configuraciones de ruta.
¿Qué tipo de magia usa MSBuild para encontrar las rutas de búsqueda, según la configuración IDE (almacenada en el registro) y el archivo del proyecto (que contiene marcadores de posición como $ (DCC_UnitSearchPath)?
El símbolo del sistema de RAD Studio solo establece el entorno .Net para MSBuild. Entonces, ¿hay algo más que funcione detrás de escena?
Si examina el archivo del proyecto, notará que incluye CodeGear.Delphi.Targets que incluye CodeGear.Common.Targets que a su vez incluye EnvOptions.proj. EnvOptions.proj es actualizado por el IDE para contener las rutas del registro.