2013-09-02 3 views
175

저는 IDE를 통해 델파이 XE 프로젝트에 포함 시켰던 커스텀 MSBuild .targets 파일을 생성하고 프로젝트 매니저의 컨텍스트 메뉴에서 활성화 시켰습니다. 파일의 유효성을 검사하지만 프로젝트 파일을 다시 저장하면 항상 비활성화됩니다.델파이 XE 커스텀 빌드 타겟은 항상 비활성화됩니다.

다음은 Custom.targets이라는 단순화 된 대상 파일입니다. 이 예상대로 작동하는 독립 실행 형 파일로

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Target Name="Hello"> 
    <Message Text="Hello from custom target"/> 
    </Target> 
</Project> 

: 명령 줄에서 입력 ...
MSBuild Custom.target /t:Hello 

...

예상 된 메시지를 제공합니다. ... 예상대로 IDE를 통해 델파이 프로젝트에 Custom.targets 추가

은 프로젝트 관리자에서 파일을 표시하고 .dproj 파일은 이제 라인을 포함

내가 IDE의에서 파일을 마우스 오른쪽 버튼으로 클릭

<TargetsFile Include="Custom.targets"/> 
프로젝트 관리자를 선택하고 Enable을 선택하십시오. 프로젝트가 Build 메시지 창이 표시를 구축 때 :

[MSBuild에서의 경고] Custom.targets (1) : 장애인 가져 오기를 무시 : PathToProjectSource\\Custom.targets

프로젝트 관리자에서 다시 마우스 오른쪽 버튼으로 클릭하면 여전히 보여줍니다 Disable 대신 Enable 옵션을 사용하십시오.

명령 줄에서 MSBuild ProjectName.dproj /t:Hello도 실패합니다. MSBuild ProjectName.dproj /t:Hello를 입력하면

내가 선을 추가 할 .dproj 파일을 해킹 시도했습니다

...

<Import Project="Custom.targets"/> 

가 작동합니다. 그러나 다음에 IDE에서 프로젝트 파일을 저장할 때 <Import> 문이 제거됩니다.

누구나 잘못 알고있어?

+10

당신은 잠시 사방 _Custom.target_을 보여 그렇지 않으면 _Custom.targets_을 사용합니다. 무엇 이니? –

+4

좋은 점 - 나는 코드를 많이 보았음에도 불구하고 그 사실을 알지 못했습니다. 며칠 동안 병원에 델파이가있는 컴퓨터를 사용할 수는 없지만 가능한 경우 "대상"또는 "대상"을 사용하여 코드를 시도합니다. – delphidabbler

+6

델파이 사용자는 아니지만 [this] (http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devcommon/targetsfiles_xml.html) _All .targets 파일에는 올바른 MSBuild 스크립트가 있어야합니다. 오류가 없다.파일에 오류가 있으면 알림을받으며 프로젝트가 유효하지 않은 .targets 파일을 참조하면 오류가 해결 될 때까지 사용할 수 없으며 다시 사용할 수 없습니다 ._ 두 가지를 모두 확인하는 것이 가치가 있습니다. 증상. –

답변

1

Delphi는 전체 dproj 내용 자체를 생성하며이 사용자 정의 가져 오기는 항상 삭제됩니다.

msbuild xml 파일을 직접 작성할 수 있지만 dproj는 Delphi에 속합니다.

소스 코드가 없거나 원숭이에게 기꺼이 패치하지 않는 한 당신은 그렇게 할 수 없습니다. 당신이 정말로 델파이 프로젝트를 빌드 및 대상 원하는 시도하거나 vnext (의 bitbucket 내 포크를) 원하는 풍부하게 만들 수있는 유연한 XML 방식을하려면 명령 줄에서 msbuild를를 사용하여 예에서

관련 문제