2009-11-03 20 views
5

người làm bất kỳ ai biết về một tiện ích hoặc chương trình tốt để thẩm vấn giải pháp hoặc thư mục cho tất cả các dự án và cho bạn biết tài liệu tham khảo vòng tròn và có thể biên dịch theo thứ tự ở đâu ..C#: Tiện ích để tìm tham chiếu vòng/biên dịch theo đúng thứ tự?

Tôi nhớ đã xem một lúc trước nhưng tôi có thể ' t tìm thấy nó ở bất cứ đâu ..

Trả lời

7

NDepend là một công cụ tuyệt vời mà sẽ làm điều này và nhiều hơn nữa. Có lẽ đó là quá mức cần thiết cho những gì bạn muốn, nhưng có một phiên bản dùng thử để có một cái nhìn ...

+0

Yep điều này có nhiều tính năng nhưng tôi thích nó .. cảm ơn –

0

Bạn có thể truy tìm cây phụ thuộc thông qua System.Reflection. Khi bạn xây dựng cây, khi thêm một nút, bạn sẽ kiểm tra xem liệu bất kỳ cha mẹ nào của nút có cùng một dự án hay một assembly giống như một cái mà bạn đang thêm vào hay không. Nếu đúng, hãy ném ngoại lệ cho người dùng.

Ném ngoại lệ kỹ thuật như thế này là ok nếu người dùng của bạn sẽ là những người biết cách tham khảo lắp ráp và các ngoại lệ làm việc - những người như nhà phát triển :)

0

Nếu bạn sử dụng dự án tham chiếu giữa các dự án trong giải pháp của bạn thứ tự xây dựng chính xác sẽ được xác định tự động bởi Visual Studio (hoặc MSBuild). Điều này phá vỡ tất nhiên nếu bạn sử dụng tham chiếu lắp ráp .. Ngoài ra Visual Studio sẽ ngăn bạn từ việc thêm tham chiếu dự án tham chiếu.

+1

>> Ngoài ra Visual Studio sẽ ngăn bạn thêm các tham chiếu dự án vòng tròn. Đây là một tính năng tuyệt vời. Nếu bạn tham chiếu vòng tròn nhiều hơn tham chiếu 2 điểm (ví dụ: A -> B -> C -> A), sẽ tốt hơn nếu VS cung cấp cho bạn thêm thông tin về tham chiếu nào sẽ gây ra tham chiếu vòng tròn tiềm năng. –

1

Tôi biết đây là câu trả lời trễ, nhưng tôi thấy sử dụng câu trả lời của GraemeF và tsilb cả hai đều không có sự phụ thuộc giữa hai hội đồng. Dường như nếu bạn đảo ngược thứ tự phụ thuộc (hội Một tài liệu tham khảo B, nhưng bạn chuyển đổi nó để B tham khảo Một), nó rời khỏi sự phụ thuộc vào việc xây dựng trật tự. Để giải quyết vấn đề này, mở hộp thoại Properties cho giải pháp của bạn, vào Common Properties, và sau đó là Dependencies Project. Tìm số Lắp ráp A và xóa phụ thuộc vào Lắp ráp B. Điều này sẽ cho phép bạn thêm tham chiếu bình thường.

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