Tôi hava một giải pháp khá phức tạp, có chứa 10 dự án ngoài dự án thử nghiệm. Đây là mạng lưới các ứng dụng được phân phối & các dịch vụ liên lạc bằng cách sử dụng chức năng truy cập từ xa; do đó có các hội đồng tham chiếu thích hợp (& phiên bản) là rất quan trọng. Đó là lý do tại sao tôi muốn toàn bộ điều được biên soạn và schrink-gói trong ONE xây dựng.Xây dựng toàn bộ giải pháp nhưng thêm Biểu tượng biên soạn có điều kiện toàn cầu cho chỉ một dự án
Một trong các ứng dụng là một công cụ demo/phân tích chạy một tiến trình con của một ứng dụng khác - lớn hơn nhiều - ứng dụng dựa trên đầu vào của người dùng và hiển thị kết quả; Bằng cách đó, các kỹ sư có một công cụ để giúp tinh chỉnh cài đặt của họ cho "tính toán lớn". Rõ ràng tiến trình con được chứa trong lắp ráp khác, và một phần lớn trong kết quả te trình bày cho các kỹ sư được tạo ra bởi
#if ENABLE_TRACE_MATCHING
Trace.WriteLine("Some engineering output");
#endif
Vấn đề của tôi là biểu tượng Compilation có điều kiện trong các thiết lập dự án được giới hạn để lắp ráp của dự án đó, và làm không tuyên truyền trên các hội đồng được tham chiếu. Làm thế nào tôi có thể cấu hình build của tôi trong một cách mà tất cả các dự án sẽ được xây dựng mà không ENABLE_TRACE_MATCHING được xác định, ngoại trừ một debug/dự án phân tích ứng dụng nơi mà tất cả các dự án tham chiếu/cụm phải được biên soạn với ENABLE_TRACE_MATCHING được định nghĩa
Tôi cũng không thể thay thế #if ENABLE_TRACE_MATCHING bằng #if DEBUG, vì điều đó sẽ cho phép nhiều đầu ra khác nhau mà các kỹ sư của chúng tôi không biết cách xử lý.
Xin cảm ơn trước.
PS: Nếu bạn cho rằng mã của tôi có mùi thì tôi đồng ý. Ngoài ra: Phần lớn không phải mã của tôi;)
tôi quên đề cập đến: Đó là tất cả C# và .NET 3.5 – user588939