Tôi đang tùy chỉnh dự án .csproj
để chạy một số tác vụ tùy chỉnh trước bản dựng chính. Tuy nhiên, tôi không thể hoàn thành nhiệm vụ.MS-Build BeforeBuild không bắn
Tôi uncommented thành phần <Target Name="BeforeBuild" />
trong tệp .csproj
và thêm một nhiệm vụ Message đơn giản, nhưng khi tôi xây dựng, thông báo không xuất hiện trong đầu ra của tôi, vì vậy có vẻ như nhiệm vụ không chạy. Vì vậy, đoạn này không xuất ra thông báo;
Liệt kê 1: Không có tin nhắn Xuất hiện
<Target Name="BeforeBuild">
<Message Text="About to build ORM layer" Importance="normal" />
</Target>
Tuy nhiên, nếu tôi vít với một số các thuộc tính, tôi không thể có được .csproj
để thất bại trong việc thực hiện ở tất cả;
Liệt kê 2: Một cấu hình lỗi MSBuild
<Target Name="BeforeBuild">
<Message Text="About to build ORM layer" XXImportance="normal" />
</Target>
Lưu ý XXImportance
thuộc tính. Việc xây dựng lỗi tôi nhận được là
My.csproj(83,46): error MSB4064: The "XXImportance" parameter is not supported by the "Message" task. Verify the parameter exists on the task, and it is a settable public instance property.
Điều này cho thấy rằng XML đang được phân tích, rằng lớp Message
đã được tìm thấy, và rằng lớp đã được phản ánh qua cho các thuộc tính có sẵn.
Tại sao tác vụ không thực thi?
Tôi đang sử dụng khung 3.5.
CẬP NHẬT 1: Theo lời khuyên của @ Martin, tôi đã cố chạy MSBuild trên bảng điều khiển và gặp lỗi này;
c:\path\to\my.csproj(74,11): error MSB4019: The imported
project "C:\Microsoft.CSharp.targets" was not found. Confirm
that the path in the <Import> declaration is correct, and that
the file exists on disk.
Dòng 74 lần đọc;
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
UPDATE 2: Tôi đang biên soạn trong VS2008, trong đó sử dụng trình biên dịch C# 3, nhưng các dự án Tôi đang biên soạn là một dự án framework 2.0. Khi chạy từ dòng lệnh (xem CẬP NHẬT 1) xây dựng dường như thất bại vì có một sự nhầm lẫn về nơi mà các tập tin Microsoft.CSharp.targets
được chỉ định.
Xin chào, Martin. Cảm ơn rất nhiều vì câu trả lời - tôi đánh giá cao nó. Tôi đã ở mức độ tối thiểu, vì vậy tôi không nghĩ đó là điều đó. Tôi đã cố gắng biên dịch thông qua bảng điều khiển nhưng gặp lỗi - tôi đã thêm nó vào bài đăng gốc. Bất kỳ ý tưởng? –
Bạn có sử dụng Visual Stuido Command Pront được tìm thấy trong Visual Studio Tools (trong Microsfot Vistual Studio 20xx) trong Start Menu-> All Program. Nó thiết lập một loạt các biến môi trường mà làm cho công việc msbuild. –
Ngoài ra, bạn có thể thử. bình thường thay vì tối thiểu –