2009-09-03 27 views
5

Tôi muốn sử dụng hai phiên bản Microsoft.Office.Interop khác nhau (phiên bản 11 và 12) tùy thuộc vào phiên bản Office được cài đặt trên máy của khách hàng.Làm thế nào để sử dụng hai hội đồng Microsoft Interop khác nhau trong một dự án?

Tôi đã có thể thêm hai ảnh này vào dự án của mình (tôi đang sử dụng chúng loccaly - chúng nằm trong thư mục bin của tôi, trong hai thư mục con khác nhau), tôi đã sử dụng bí danh trên cụm này để có thể sử dụng cả hai chúng trong dự án của tôi (tương ứng, các bí danh là Excel11 và Excel12).

Nhưng unfourtunately, khi tôi đang cố gắng để xây dựng các giải pháp Tôi nhận được cảnh báo:

Không có cách nào để giải quyết mâu thuẫn giữa "Microsoft.Office.Interop.Excel, Version = 12.0.0.0, Văn hóa = trung lập, PublicKeyToken = 71e9bce111e9429c "và " Microsoft.Office.Interop.Excel, Phiên bản = 11.0.0.0, Văn hóa = trung lập, PublicKeyToken = 71e9bce111e9429c ". Chọn "Microsoft.Office.Interop.Excel, Phiên bản = 12.0.0.0, Văn hóa = trung lập, PublicKeyToken = 71e9bce111e9429c" tùy ý.

+1

Cố gắng đặt loại tương tác nhúng thành True trong thuộc tính Tham chiếu – igelineau

Trả lời

0

yeah đó là tổng, nhưng dễ hiểu. Tôi khuyên bạn nên xem xét trong Open XML SDK cho thế hệ COM-less. nhưng tôi hiểu thời gian khủng hoảng và các yêu cầu khác vì vậy nếu bạn không thể ... đây là những gì tôi sẽ làm.

để đảm bảo nằm trên cùng một trang, dưới đây là những gì tôi đang nghĩ đến để đặt bí danh http://www.dotnetperls.com/extern nếu vì một số lý do lẻ không hoạt động cho bạn, có một cách tiếp cận khác mà bạn có thể sử dụng bên dưới.

Để làm sạch, bạn có thể tạo một vài dự án mới. một cho mỗi phiên bản bạn cần triển khai, đặt tên cho chúng là phiên bản cụ thể như Excel11, Excel12. Sau đó, xây dựng các lớp wrapper cho các hàm bạn muốn có thể truy cập từ mỗi lớp, bạn có thể tạo ra một lớp trừu tượng trong một dự án chung riêng biệt mà các lớp bao bọc của bạn mở rộng, vì vậy bạn có thể tham khảo chúng một cách tổng quát từ mã chính của tên lớp Tóm tắt cho tính đồng nhất. bạn chỉ cần thêm tham chiếu đến các dự án mới trong dự án chính của bạn và chọn trình bao bọc nào bạn muốn dựa trên tuy nhiên bạn đang kiểm tra phiên bản, khóa đăng ký hoặc cách khác. Hy vọng nó giúp.

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