Budowałem projekty przy użyciu Delphi XE i MSBuild przy użyciu poniższego prostego przykładu, który działa poprawnie w pliku wsadowym. Project1 to pusty projekt utworzony za pomocą "File | Nowy | VCL tworzy aplikację w IDE:Jak budować przy użyciu MSBuild i Delphi XE2
call "c:\Program Files (x86)\Embarcadero\RAD Studio\8.0\bin\rsvars.bat"
msbuild.exe /target:Build /p:config=Release "c:\scratch\test\project1.dproj"
pause
Gdybym stworzył nowy pusty projekt w Delphi XE2, zapisać go jako project1.dproj (the dproj bardzo różni się od XE) i uruchom następujące:
call "c:\Program Files (x86)\Embarcadero\RAD Studio\9.0\bin\rsvars.bat"
msbuild.exe /target:Build /p:config=Release "c:\scratch\test\project1.dproj"
pause
daje:
Build FAILED.
"c:\scratch\test\project7.dproj" (Build target) (1) ->
c:\scratch\test\project7.dproj : error MSB4057: The target "Build" does not e
xist in the project.
0 Warning(s)
1 Error(s)
Time Elapsed 00:00:00.00
próbowałem różne nazwy docelowych tym rzeczy znajdują się w Codegear.Delphi.Targets ale nie wiem wnough o MSBuild. Czy ktoś może pomóc w tym, co powinienem napisać?
PÓŹNA ROZDZIELCZOŚĆ: To było wypróbowane na innym komputerze z XE2 i działa dobrze, jak sugeruje David poniżej. W rzeczywistości problemem była zawartość pliku RSVARS.BAT, który nie określił poprawnie ścieżki BDS.
Jest to linia w pliku dproj? : Twoje polecenie msbuild.exe to: OK i działa dobrze tutaj. –
Tak to robię. Coś jest nie tak z twoją instalacją. Musisz porozmawiać z Embą. –
@Arjen: Tak, mam to w pliku dproj. –