Thiếu tham chiếu Microsoft.Office.Core


93

Sử dụng ví dụ được cung cấp trong codeproject, tôi đang loay hoay tìm cách tìm tài liệu tham khảo cho thư viện Microsoft.Office.Core.

Tôi gặp lỗi "Không thể tìm thấy thành phần được tham chiếu 'Microsoft.Office.Core'."

Tôi chỉ cài đặt phiên bản office 2007 Enterprise và outlook 2003 trên hệ thống này. Đây có thể là nguyên nhân của điều này? Nếu không thì tôi phải tham khảo dll cụ thể nào?


Đã thử cả hai gợi ý và dường như vẫn bị mắc kẹt. Câu hỏi đặt ra là "Thư viện COM phù hợp với hệ thống của bạn" trong trường hợp của tôi là gì?
Maxim Gershkovich

Bạn đã bao giờ con số này ra? Tôi đang gặp vấn đề tương tự.
rd42

Câu trả lời:


157

Bạn có thể thêm tham chiếu của Microsoft.Office.Coretừ tab thành phần COM trong cửa sổ thêm tham chiếu bằng cách thêm tham chiếu của Microsoft Office 12.0 Object Library. Ảnh chụp màn hình sẽ hiển thị thành phần bạn cần.

nhập mô tả hình ảnh ở đây


.NET-> Office (nếu đã cài đặt PIA). Hãy xem câu trả lời của Spike bên dưới.
samis

3
Tôi đã sử dụng " Thư viện đối tượng Microsoft Office 14.0 " (12.0 không tồn tại) và nó hoạt động tốt. Ngoài ra, trước tiên tôi phải xóa tham chiếu đến "Microsoft.Office.Core".
sao hỏa vào

Jazakallah Adil bhai. Đã làm cho tôi.
shaikhspear

2
Tôi đang sử dụng Visual Studio 2017 nhưng tôi không thể thấy "Thư viện đối tượng Microsoft Office XX.X" trong tab COM. Tôi có cần cài đặt "Microsoft Office" không?
Casper

@Kin Bạn đã tìm ra để làm gì? Tôi cũng đang sử dụng VS 2017 và tôi không thấy tham chiếu đến các thư viện của văn phòng. Bạn có phải cài đặt Microsoft Office không?
Luis Palacios

22

Không câu trả lời nào ở trên giúp ích cho tôi, tôi đang sử dụng Visual Studio 2017. Những gì tôi đã làm là cài đặt Office / SharePoint Development bằng Visual Studio Installer.

nhập mô tả hình ảnh ở đây

Sau đó, tôi có thể thấy 'office', assembly này chứa Microsoft.Office.Core.

nhập mô tả hình ảnh ở đây

Hy vọng điều này sẽ giúp bạn.


18

Bạn cần tải xuống và cài đặt PIA (hội đồng tương tác chính) cho phiên bản Office bạn đang sử dụng. Sau khi cài đặt, bạn có thể thêm tham chiếu vào dự án của mình và chúng sẽ có sẵn từ hộp thoại thêm tham chiếu. Đây là các liên kết để tải chúng ...

Office 2010 PIA

Office 2007 PIA

Office 2003 PIA


7
Đã thử cả ba. Không có may mắn cho đến nay!
Maxim Gershkovich

3
Đã cài đặt PIA nhưng không thể tìm thấy chúng trong "Thêm tài liệu tham khảo", nhưng sau đó nó hoạt động với tôi bằng cách thêm trực tiếp DLL từ đường dẫn, ví dụ C: \ Windows \ assembly \ GAC_MSIL \ Microsoft.Office.Interop.Excel \ xxxx \ ... .
oo_dev

2
Tôi đã có thể tìm thấy các PIA khác nhưng không phải của Microsoft.Office.Core
JohnD

Vẫn không hiển thị trong danh sách COM để thêm làm tài liệu tham khảo
Edward

5

Nếu ai đó không có tài liệu tham khảo trong .NET. COM (tab) hoặc không được cài đặt văn phòng trên máy mà trực quan đã được cài đặt có thể thực hiện:

  1. Tải xuống và cài đặt: Microsoft Office Developer Tools
  2. Thêm tài liệu tham khảo từ:

    C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\PIA\Office15

4

Sau khi cài đặt Office PIA (hội đồng liên kết chính), hãy thêm tham chiếu vào dự án của bạn -> tham chiếu đó trên tab .NET - tên thành phần "Office"


1
Đã ủng hộ vì điều này thực sự đã làm điều đó với tôi. Ban đầu thiết lập các tham chiếu đến .COM không giải quyết được vấn đề.
DrMarbuse

Được tốt đẹp để biết được nơi .NET tab này là
Edward

3

Bây giờ có một gói nuget cho điều đó.

https://www.nuget.org/packages/NetOffice.Core.Net40/

Đầu tiên, tôi không tìm thấy văn phòng trong COM, vì vậy hãy thử phần mềm này và nó hoạt động!


1
Thêm vào câu trả lời: Nếu bạn cài đặt Office Interop lib thông qua bảng điều khiển trình quản lý gói NuGet (chẳng hạn như PowerPoint hoặc Excel), có vẻ như cài đặt này cũng vậy ... điều này dường như không đúng nếu bạn sử dụng Visual Studio NuGet GUI
Thumper

2

Bạn đã thực sự đi đến tài liệu tham khảo của mình và thêm tham chiếu .NET vào thư viện 'Microsoft.Office.Core' chưa? Nếu bạn đã tải xuống ứng dụng mẫu, câu trả lời sẽ là có. Nếu gặp trường hợp đó, hãy làm theo lời khuyên trong bài viết:

Nếu hệ thống của bạn không có Microsoft Office Outlook 2003, bạn có thể phải thay đổi Tham chiếu được sử dụng bởi dự án "OutlookConnector". Có nghĩa là, nếu bạn nhận được lỗi xây dựng được mô tả là "Không tìm thấy loại không gian tên 'Outlook'", có thể bạn không có Office 2003. Chỉ cần mở rộng các tham chiếu dự án, xóa các mục bị ảnh hưởng và thêm Thư viện COM thích hợp cho hệ thống của bạn. Nếu ai đó có một cách năng động để xử lý vấn đề này, tôi sẽ rất tò mò muốn biết bạn đã thực hiện.

Điều đó sẽ giải quyết vấn đề của bạn. Nếu không, hãy cho chúng tôi biết.


2

Trong trường hợp bạn đang sử dụng Visual Studio 2012, để điều này hoạt động và để tham chiếu đến Microsoft Office Core, bạn phải tạo tham chiếu thông qua Visual Studio bằng cách nhấp vào nút Project, Add Reference, Extensions của menu trên cùng và kiểm tra văn phòng. bây giờ là (14,0).


1

Nếu bạn không thể tìm thấy PIA cho Office 2013, hãy làm theo các bước sau:

  1. Nhấp vào Giải pháp Explorer trong Visual Studio
  2. Nhấp chuột phải vào tên dự án của bạn (không phải tên giải pháp)
  3. Chọn 'Quản lý gói Nuget'
  4. Nhấp vào Duyệt và tìm kiếm PIA 2013, chọn PIA được hiển thị và nhấp vào Cài đặt .....

Và bạn đã hoàn thành.



0

Tôi gặp phải vấn đề tương tự khi cố gắng mở dự án c # cũ của mình sang phiên bản visual studio 2017. Sự cố này thường phát sinh khi bạn cố gắng mở một dự án mà bạn đã thực hiện bằng phiên bản VS trước đó và mở nó bằng phiên bản mới nhất. những gì tôi đã làm là, tôi đã mở dự án của mình và xóa tham chiếu khỏi dự án của mình, sau đó thêm thư viện đối tượng Microsoft outlook 12.0 và thư viện đối tượng Microsoft office 12.0 Thư viện đối tượng Microsoft outlook 12.0


-1

Mở thuộc tính của giải pháp và nhấp vào xuất bản. Sau đó, nhấp lại các tệp ứng dụng. Thay đổi điều kiện tiên quyết để bao gồm.


-1

Tôi có cùng một rắc rối. Tôi đã đi tới Thêm tài liệu tham khảo, tab COM, một Thư viện Objetct Microsoft Office 15.0 được chọn. Ok, và vấn đề của tôi kết thúc.

một phần mã của tôi là:

EXCEL.Range rango;
            rango = (EXCEL.Range)HojadetrabajoExcel.get_Range("AE13", "AK23");
            rango.Select();
      //      EXCEL.Pictures Lafoto = (EXCEL.Pictures).HojadetrabajoExcel.Pictures(System.Reflection.Missing.Value);
            EXCEL.Pictures Lafoto = HojadetrabajoExcel.Pictures(System.Reflection.Missing.Value);

            HojadetrabajoExcel.Shapes.AddPicture(@"D:\GENETICA HUMANA\Reportes\imagenes\" + Variables.nombreimagen,
                Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue,
                float.Parse(rango.Left.ToString()),float.Parse(rango.Top.ToString()), float.Parse(rango.Width.ToString()),
                float.Parse(rango.Height.ToString()));
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.