Brak odniesienia do Microsoft.Office.Core

93

Korzystając z przykładu podanego w codeproject, staram się ustalić, gdzie mogę znaleźć odniesienie do biblioteki Microsoft.Office.Core.

Otrzymuję błąd „Nie można znaleźć wskazanego składnika 'Microsoft.Office.Core'.”

Mam tylko Office 2007 Enterprise Edition i Outlook 2003 zainstalowane w tym systemie. Czy to może być tego przyczyną? W przeciwnym razie do której konkretnej biblioteki dll mam się odwoływać?

Maxim Gershkovich
źródło
Wypróbowałem obie sugestie i nadal wydaje się, że utknąłem. Pytanie brzmi: jaka jest „Biblioteka COM odpowiednia dla twojego systemu” w moim przypadku?
Maxim Gershkovich
Czy kiedykolwiek to rozgryzłeś? Mam ten sam problem.
rd42

Odpowiedzi:

157

Możesz dodać odwołanie do Microsoft.Office.Corez karty komponentów COM w oknie dodawania odwołania, dodając odwołanie do Microsoft Office 12.0 Object Library. Zrzut ekranu pokaże, jakiego komponentu potrzebujesz.

wprowadź opis obrazu tutaj

Adil
źródło
.NET-> Office (jeśli zainstalowano PIA). Zobacz odpowiedź Spike'a poniżej.
samis
3
Użyłem „Microsoft Office 14.0 Object Library” (12.0 nie istniało) i też zadziałało. Ponadto musiałem najpierw usunąć odniesienie do „Microsoft.Office.Core”.
marsze
Jazakallah Adil bhai. Pracował dla mnie.
shaikhspear
2
Używam programu Visual Studio 2017, ale nie widzę „Biblioteki obiektów Microsoft Office XX.X” na karcie COM. Czy muszę zainstalować „Microsoft Office”?
Casper
@Kin Czy dowiedziałeś się, co robić? Używam też VS 2017 i nie widzę odniesienia do bibliotek biura. Czy musiałeś zainstalować pakiet Microsoft Office?
Luis Palacios
23

Żadna z powyższych odpowiedzi nie pomogła mi, korzystałem z Visual Studio 2017. Zainstalowałem Office / SharePoint Development za pomocą Visual Studio Installer.

wprowadź opis obrazu tutaj

Potem mogłem zobaczyć „biuro”, ten zestaw zawiera Microsoft.Office.Core.

wprowadź opis obrazu tutaj

Mam nadzieję, że to ci pomoże.

Abhimanyu
źródło
18

Musisz pobrać i zainstalować PIA (podstawowe zestawy międzyoperacyjne) dla używanej wersji pakietu Office. Po zainstalowaniu możesz dodać odniesienie do swojego projektu, które będzie dostępne w oknie dialogowym dodawania odniesienia. Oto linki do ich pobrania ...

Pakiet Office 2010 PIA

Office 2007 PIA

Office 2003 PIA

Phil Wright
źródło
7
Wypróbowałem wszystkie trzy. Jak dotąd nie ma szczęścia!
Maxim Gershkovich
3
Zainstalowałem PIA, ale nie mogłem ich znaleźć w "Dodaj odwołanie", ale wtedy zadziałało, dodając bibliotekę DLL bezpośrednio ze ścieżki, np. C: \ Windows \ assembly \ GAC_MSIL \ Microsoft.Office.Interop.Excel \ xxxx \ ... ,
oo_dev
2
Udało mi się znaleźć inne PIA, ale nie Microsoft.Office.Core
JohnD
Nadal nie pojawia się na liście COM do dodania jako odniesienie
Edward
5

Jeśli ktoś nie ma odniesienia w .NET. COM (tab) lub nie mieć zainstalowanego pakietu Office na komputerze, na którym zainstalowano Visual, może wykonać:

  1. Pobierz i zainstaluj: Microsoft Office Developer Tools
  2. Dodaj referencje z:

    C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\PIA\Office15
    
Artur Tarnowski
źródło
4

Po zainstalowaniu pakietu Office PIA (podstawowe zestawy międzyoperacyjne) dodaj odniesienie do projektu -> jego na karcie .NET - nazwa składnika „Office”

Kolec
źródło
1
Głosowano za, ponieważ to naprawdę mi to zrobiło. Początkowe ustawienie odwołań do .COM nie rozwiązało problemu.
DrMarbuse
Miło wiedzieć, gdzie jest ta zakładka .NET
Edward
3

Teraz jest do tego pakiet nuget.

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

Najpierw nie znalazłem biura w COM, więc wypróbowałem ten nuget i zadziałało!

Panie Ott
źródło
1
Dodawanie do odpowiedzi: Jeśli instalujesz bibliotekę Office Interop za pośrednictwem konsoli menedżera pakietów NuGet (na przykład programu PowerPoint lub Excel), wygląda na to, że również ją zainstalujesz ... to samo nie wydaje się być prawdą, jeśli używasz interfejsu GUI programu Visual Studio NuGet
Thumper
2

Czy faktycznie przejrzałeś odniesienia i dodałeś odwołanie .NET do biblioteki „Microsoft.Office.Core”? Jeśli pobrałeś przykładową aplikację, odpowiedź brzmiałaby: tak. W takim przypadku postępuj zgodnie z radą zawartą w artykule:

Jeśli w systemie nie ma programu Microsoft Office Outlook 2003, może być konieczna zmiana odwołań używanych przez projekt „OutlookConnector”. Oznacza to, że jeśli otrzymałeś błąd kompilacji opisany jako „Nie można znaleźć typu nazwy przestrzeni nazw„ Outlook ””, prawdopodobnie nie masz pakietu Office 2003. Po prostu rozwiń odwołania do projektu, usuń elementy, których dotyczy problem, i dodaj bibliotekę COM odpowiednią dla Twojego systemu. Jeśli ktoś ma dynamiczny sposób radzenia sobie z tym, byłbym ciekawy, czy zrobiłeś to.

To powinno rozwiązać twój problem. Jeśli nie, daj nam znać.

IAmTimCorey
źródło
2

Jeśli używasz programu Visual Studio 2012, aby to zadziałało i aby odwołać się do Microsoft Office Core, musisz utworzyć odwołanie za pośrednictwem programu Visual Studio, klikając przycisk Projekt, Dodaj odniesienie, Rozszerzenia w górnym menu i sprawdzając biuro, które jest teraz (14,0).

Humbert
źródło
1

Jeśli nie możesz znaleźć PIA dla Office 2013, wykonaj następujące kroki:

  1. Kliknij Eksplorator rozwiązań w programie Visual Studio
  2. Kliknij prawym przyciskiem myszy nazwę projektu (nie nazwę rozwiązania)
  3. Wybierz „Zarządzaj pakietami Nuget”
  4. Kliknij Przeglądaj i wyszukaj PIA 2013, wybierz pokazany PIA i kliknij Zainstaluj .....

Gotowe.

Głębokie
źródło
0

Napotkałem ten sam problem, gdy próbowałem otworzyć mój stary projekt C # w wersji Visual Studio 2017. Ten problem pojawia się zwykle podczas próby otwarcia projektu utworzonego w poprzedniej wersji programu VS i otwarcia go w najnowszej wersji. co zrobiłem, to otworzyłem projekt i usunąłem odniesienie z mojego projektu, a następnie dodałem bibliotekę obiektów Microsoft Outlook 12.0 i bibliotekę obiektów Microsoft Office 12.0 Biblioteka obiektów Microsoft Outlook 12.0

Jobayer Rifad
źródło
-1

Otwórz właściwości rozwiązania i kliknij publikuj. Następnie ponownie kliknij pliki aplikacji. Zmień warunek wstępny, aby uwzględnić.

nedimnamo
źródło
-1

Mam ten sam problem. Poszedłem do Dodaj referencje, kartę COM, wybierz bibliotekę Microsoft Office 15.0 Objetct. Ok, i mój problem się kończy.

część mojego kodu to:

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()));
Giovanni Rodrigo Garcia Rada
źródło