![]() |
MSBuild no Target Found
Hey,
Ich bin im Moment ein am verzweifeln, ich versuche meine groupproj über MSBuild zu bauen per Batch Datei. Egal was ich mache, ich bekomme diesen Fehler und ich weiß nicht genau warum ich diesen bekomme. Error: error MSB4040: Das Projekt enthält kein Ziel Befehl: msbuild MainProject.groupproj Ich glaube einfach ich übersehe etwas einfaches, aber trotzdem finde ich es nicht :lol: Hilfe nehme ich gerne, falls noch irgendwelche Daten fehlen für ich gerne einfach schreiben. Grüße Sander |
AW: MSBuild no Target Found
Füge mal die Parameter
Code:
zum MSBuild-Aufruf hinzu.
/t:build /p:config="Release"
|
AW: MSBuild no Target Found
habe ich gemacht aber jetzt spuckt er mir das aus:
Befehl:
Code:
Error:
msbuild MainProject.groupproj /t:build /p:config="Release"
pause
Code:
Fehler beim Buildvorgang.
"MainProject.groupproj" (build Ziel) (1) -> "Core.dproj" (Standardziel) (2) -> Core.dproj : error MSB404 0: Das Projekt enthält kein Ziel. 0 Warnung(en) 1 Fehler Verstrichene Zeit 00:00:00.04 |
AW: MSBuild no Target Found
Okay ich habe selbst den Fehler gefunden, aber verstehe ihn nicht ganz.
Ich habe die rsvars.bat nicht aufgerufen, aber wieso muss ich das jedes mal machen? Grüße Sander |
AW: MSBuild no Target Found
Du kannst die Variablen auch systemweit als Umgebungsvariablen deklarieren. Einfacher ist es aber, diese mit der Batchdatei zu setzen, weil du ansonsten diese erstens bei der nächsten Delphiversion anpassen musst, zweitens aber auch nicht verschiedene Delpiversionen parallel nutzen könntest.
|
AW: MSBuild no Target Found
Dort sind auch weitere Suchpfade mit enthalten.
Die DPROJ ist ein Script für MSBuild, welches weitere Scripte einbindet (liegt in 'nem Suchpfad), die wiederum Scripte einfügen, und in diesen Dateien (Scripten) wird unter anderem auch das BuildTarget definiert. Leider gibt es keine Warnung/Hinweis, wenn eine der Dateien nicht gefunden wurde. Öffne deine .dproj mal mit einem TextEditor.
XML-Code:
Die letzten Beiden gibt es meistens nicht.
<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')"/> Aber die Erste ist hier wichtig und jene importiert weitere proj. Ganz früher fehlte teilweise die Condition= womit es dann im Fehlerfall wunderschön knallte. Aus demselben Grund könntest du auch das
Delphi-Quellcode:
weglassen
/p:Config="Release"
und es wird das genommen, was du zuletzt in der IDE ausgewählt hast (Debug, Release oder sonstwas). Ebenso kann man auch den Compiler auswählen
Delphi-Quellcode:
.
/p:Platform=Win32
(Fehlen diese Angaben, dann gibt es ganz oben, in der DPROJ, diese Property, mit einer Condition ala "if empty")
XML-Code:
Aber wenn man es angibt, dann wird immer das "angegebene" genommen, egal was zuletzt in IDE/Debugger gewählt wurde.
<Config Condition="'$(Config)'==''">Release</Config>
<Platform Condition="'$(Platform)'==''">Win32</Platform>
Code:
call "C:\Program Files (x86)\Embarcadero\Studio\23.0\bin\rsvars.bat"
msbuild /t:Build /p:Config=Release /p:Platform=Win32 MainProject.groupproj pause |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz