Tôi đã tạo một .targetstệp MSBuild tùy chỉnh mà tôi đã đưa vào dự án Delphi XE thông qua IDE và kích hoạt nó từ menu ngữ cảnh của Trình quản lý dự án. Mặc dù tệp xác nhận, nó luôn bị vô hiệu hóa sau khi tôi lưu lại tệp dự án.
Đây là một phiên bản đơn giản hóa của tệp mục tiêu, được đặt tên Custom.targets.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Hello">
<Message Text="Hello from custom target"/>
</Target>
</Project>
Như một tập tin độc lập, nó hoạt động như mong đợi: gõ ...
MSBuild Custom.target /t:Hello
... tại dòng lệnh đưa ra thông báo mong đợi.
Thêm Custom.targetsvào một dự án Delphi thông qua IDE sẽ hiển thị tệp trong Trình quản lý dự án như mong đợi và .dprojtệp hiện chứa dòng ...
<TargetsFile Include="Custom.targets"/>
Tôi đã bấm chuột phải vào tệp trong Trình quản lý dự án của IDE và chọn Enable. Nhưng khi dự án được xây dựng, Buildcửa sổ thông báo sẽ hiển thị:
[Cảnh báo MSBuild] Custom.target (1): Bỏ qua quá trình nhập bị vô hiệu hóa:
PathToProjectSource\\Custom.targets
Nhấp chuột phải một lần nữa trong Project Manager vẫn hiển thị Enabletùy chọn thay vì dự kiến Disable.
Tại dòng lệnh MSBuild ProjectName.dproj /t:Hellocũng thất bại.
Tôi đã thử hack .dprojtệp để thêm dòng ...
<Import Project="Custom.targets"/>
Gõ MSBuild ProjectName.dproj /t:Hellobây giờ hoạt động. Nhưng lần sau khi tôi lưu tệp dự án từ IDE, <Import>câu lệnh sẽ bị xóa.
Bất cứ ai có bất cứ ý tưởng những gì đang xảy ra xin vui lòng?
/t:Hellocũng như từ IDE bằng cách nhấp chuột phải vào Trình quản lý dự án - Mục tiêu - Xin chào. Tôi đã thêm vào Custom.targetsdự án bằng cách nhấp chuột phải vào Trình quản lý dự án - Thêm - (duyệt qua tệp). Đường dẫn là cùng thư mục với tệp .dproj.