2012-09-09 31 views
5

Tôi đã học được cách khó khăn mà Visual Studio 2010 và MSBuild cực kỳ khoan dung khi nói đến các tập tin vbxproj MSBuild họ sẽ thực hiện thành công - họ sẽ bỏ qua các cấu hình bị mất cho các subtask và các tệp đơn và vẫn thực hiện thành công các tác vụ xây dựng. Tuy nhiên điều này gây ra vấn đề cho tôi vì nó dẫn đến việc xây dựng không nhất quán trên nhiều cấu hình, cộng với sự mâu thuẫn nội bộ trong các tệp dự án mà tôi không nhất thiết phải chỉnh sửa chúng trong chế độ xem thuộc tính của Visual Studio.Có công cụ giống như lint cho MSBuild không?

Cho đến nay tôi đã được quản lý để thoát khỏi những mâu thuẫn khó giải quyết nhất bằng cách chỉnh sửa các tập tin vcxproj bằng tay nhưng điều này là không thực sự là một chiến lược có thể chấp nhận cho rằng giải pháp đặc biệt này chứa hơn 80 hồ sơ dự án. Có một công cụ có thể kiểm tra tệp MSBuild cho tính nhất quán nội bộ và làm nổi bật cấu hình thiếu dọc theo dòng "tệp dự án của bạn cho biết nó cung cấp cấu hình X, Y và Z nhưng tác vụ xây dựng tùy chỉnh cho tệp X chỉ hỗ trợ cấu hình X và Z "?

Cập nhật: Các vấn đề cụ thể tôi đang cố gắng để giải quyết ngay bây giờ như trái ngược với các vấn đề tổng quát hơn của linting file vcxproj là thiếu điều kiện cho các cấu hình nhất định. Thật không may là việc thêm và cập nhật các điều kiện có vẻ đòi hỏi nhiều hơn một chút so với tôi có thể thực hiện một cách an toàn bằng cách sử dụng công cụ tìm và thay thế. Việc thực hiện nó theo lập trình và chính xác rất có thể yêu cầu thao tác DOM và cho rằng tôi khá quen thuộc với cấu trúc bên trong của các tệp xây dựng cho đến nay có vẻ như sử dụng trình soạn thảo văn bản có thể thực hiện xác thực cấu trúc XML cơ bản. Nhiệm vụ đang diễn ra.

Điều tôi thực sự muốn thấy tuy nhiên sẽ là một công cụ ít nhất có thể làm nổi bật những vấn đề này một cách tự động để giảm bớt thời gian theo dõi chúng xuống.

Trả lời

1

Cấu hình nói chung là khái niệm VS. Chúng không được xây dựng trong MSBuild nhưng đạt được bằng cách sử dụng các thuộc tính có điều kiện trên các nhóm thuộc tính. Nhiều khả năng tệp dự án của bạn là các dự án MSBuild hợp lệ, nhưng một số trong chúng không xây dựng với các tham số mặc định - tôi khuyên bạn không nên chỉnh sửa chúng bằng tay, nhưng

  • sử dụng công cụ tìm và thay thế sửa chữa chúng
  • viết một ứng dụng nhỏ mà sử dụng Microsoft.Build.Construction API để kiểm tra và sửa chữa các tập tin dự án

Không có gì mà sẽ thực hiện việc này cho bạn, tôi sợ là.

+0

API Microsoft.Build.Construction trông thú vị, cảm ơn! Tôi đã chỉnh sửa câu hỏi để phản ánh thực tế rằng các vấn đề hiện tại tôi thấy không may là một chút ngoài các công cụ tìm và thay thế mà tôi thường sử dụng, mặc dù tôi có thể ném cùng một tập lệnh ruby ​​để thực hiện một số công việc . –

Các vấn đề liên quan