Nicht
dproj.
Ja, ich verwende auch vorranig die Environments in der Registry.
Aber die PROJ haben auch den einen oder anderen Vorteil.
https://www.delphipraxis.net/197062-...efine-vcl.html
Wobei Dieses leider auch nur funktioniert, wenn der Typ "richtig" in der Project.dproj gespeichert ist.
Oder eben die environment.proj (kommt über CodeGear.Delphi.Targets -> CodeGear.Common.Targets ins Projekt)
Es gibt 3 PROJ, welche in die DPROJ gelinkt werden (falls forhanden).
Achtung beim Upgrade alter DPROJ in neue Delphi's, denn dabei schleichen sich hier Fehler ein, bzw. Einiges wird nicht (richtig) aktualisiert/upgegraded.
Früher waren z.B. einige Zeilen ohne IF-EXISTS, bzw. Manchs gab es noch nicht ... das ist beim Upgrade entweder falsch oder es fehlt sogar.
XML-Code:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
...
<Config Condition="'$(Config)'==''">Debug</Config>
<Platform Condition="'$(Platform)'==''">
Win32</Platform>
...
</PropertyGroup>
...
<Import Project="$(
BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(
BDS)\Bin\CodeGear.Delphi.Targets')"/>
<Import Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj" Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')"/>
<Import Project="$(MSBuildProjectName).deployproj" Condition="Exists('$(MSBuildProjectName).deployproj')"/>
</Project>
$(BDSBIN)\CodeGear.***.Targets : Deklariert die zu verwendenden Compiler und Stellt die Scripte für Compiler/Build/Clear/MakeAll/ClearAll/... bereit.
$(APPDATA)\...\UserTools.proj : Hier kann man "eigene" Erweiterungen einfügen (für den Inline-Compiler und auch direkt für's MSBUILD)
Aber beim Upgrade fehlt oben manchmal die Condition, dann kann man dem MSBUILD das Profiel sagen wie man will, genommen wird immer was zuletzt eingestellt war.
Und es fehlen auch machmal einige der Imports, bzw. sie sind falsch.