2009-05-21 41 views
5

Tôi đã có một chương trình C# đã làm một số Word & Excel tự động hóa và nó được sử dụng Office 2003 Tiểu Interop Assemblies. Cách tôi triển khai nó là bằng cách bao gồm các Interops trong thùng và tôi đã tham khảo chương trình của tôi từ đó như trái ngược với tham chiếu nó từ GAC (không phải là rất chuyên nghiệp, nhưng nó đã làm việc fpr năm). Gần đây trên 3 máy, gói tương thích 2007 của văn phòng đã được cài đặt và bây giờ khi phần mềm của tôi trys để gọi Word hoặc excell, tôi nhận được lỗi:Văn phòng chính Interop hội đồng không làm việc sau khi cài đặt gói tương thích 2007

Không thể bỏ đối tượng COM kiểu Microsoft.Office.Interop.Word.ApplicationClass đến loại giao diện Microsoft.Office.Interop.Word.Application, Thao tác này không thành công do cuộc gọi QueryInterface trên thành phần COM cho giao diện với IID {00020970-0000-0000-C000-000000000046} không thành công do lỗi sau: Thư viện chưa được đăng ký . (Ngoại lệ từ HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED))

Sau khi tìm kiếm, tôi nhận thấy rằng cài đặt gói tương thích Word11 và Word12 đều được cài đặt trong GAC và cùng với Excel.

Tôi đã cố gắng để chương trình của tôi tham chiếu đến phần interop Word11 trong GAC và vẫn không có trợ giúp. Tôi đã dừng cài đặt Word12 và vẫn không có sự trợ giúp. Có vẻ như cài đặt này dường như đã thay đổi một số thiết lập đăng ký hoặc một cái gì đó mà phần mềm của tôi là nhầm lẫn không thể tìm thấy thư viện chính xác.

Bất kỳ ai cũng có một số ý tưởng?

+0

câu hỏi mới hơn [Lỗi khi truy cập thành phần COM] (http://stackoverflow.com/questions/12957595/error-accessing-com-components) – nawfal

Trả lời

1

Tôi đã làm việc xung quanh việc này bằng cách sao chép các phiên bản trước đó từ GAC sang thư mục thư viện của bên thứ ba và tham chiếu chúng ở đó - cũng có nghĩa là bạn có thể xây dựng vào năm 2003 chỉ với năm 2007 được cài đặt. (Và vâng, tôi biết đây là một hack thực sự bẩn)

+1

Nó không hoạt động, ngay cả khi tôi tham chiếu PIA địa phương của mình, nó vẫn ném cùng một lỗi –

3

Gần đây tôi đã có vấn đề này với từ quá và tôi theo dõi xuống khóa registry này là thủ phạm

HKEY_Classes_Root\TypeLib\{00020905-0000-c000-000000000046}\8.4 

Rõ ràng đây kể từ để sử dụng từ 2007 introp assemblies thay vì Word 2003 (8.3). Ít nhất tôi nghĩ rằng tôi không quá quen thuộc với các hội đồng introp văn phòng. Tôi xóa khóa đăng ký và mọi thứ hoạt động như bình thường. Tôi không biết bất kỳ tác dụng phụ nào từ việc xóa khóa này, nhưng chắc chắn sẽ sao lưu nó.

+0

Đây là câu trả lời đúng. Tôi đã có cùng một vấn đề này (ngoại trừ với từ 2010 vs 2007). Tôi đã xóa tham chiếu mà tôi không cần và nó bắt đầu hoạt động. – richb01

+0

Tôi hy vọng họ sửa chữa nó bằng cách phát hành cuối cùng, nhưng đây cũng là trường hợp trong các thử nghiệm của tôi năm 2010 (8.5) so với phiên bản beta 2013 (8.6). – HotN