Відсутнє посилання на Microsoft.Office.Core


93

На прикладі, наведеному в codeproject, я намагаюся знайти, де я можу знайти посилання на бібліотеку Microsoft.Office.Core.

Я отримую повідомлення про помилку "Не вдається знайти вказаний компонент" Microsoft.Office.Core "."

У мене на цій системі встановлено лише корпоративне видання Office 2007 та Outlook 2003. Чи може це бути причиною цього? В іншому випадку на яку конкретно DLL я повинен посилатися?


Перепробував обидві пропозиції і, здається, все ще застряг. Питання в тому, що таке "бібліотека COM, що підходить для вашої системи" в моєму випадку?
Максим Гершкович

Ви коли-небудь це зрозуміли? У мене така ж проблема.
rd42

Відповіді:


157

Ви можете додати посилання на Microsoft.Office.Coreз COM компонентів вкладки в довідковому вікні додавання шляхом додавання посилання на Microsoft Office 12.0 Object Library. Знімок екрана покаже, який компонент вам потрібен.

введіть тут опис зображення


.NET-> Office (якщо встановлено PIA). Дивіться відповідь Спайка нижче.
samis

3
Я використовував " Бібліотеку об'єктів Microsoft Office 14.0 " (12.0 не існувала), і вона також працювала. Крім того, мені спочатку довелося видалити посилання на "Microsoft.Office.Core".
марше

Джазакалла Аділ бхай. Працював у мене.
shaikhspear

2
Я використовую Visual Studio 2017, але не бачу "Бібліотеку об'єктів Microsoft Office XX.X" на вкладці COM. Чи потрібно встановлювати "Microsoft Office"?
Каспер

@Kin Ти дізнався, що робити? Я також використовую VS 2017, і я не бачу посилання на бібліотеки офісу. Вам доводилося встановлювати Microsoft Office?
Луїс Паласіос,

22

Жодна з наведених відповідей мені не допомогла, я використовував Visual Studio 2017. Що я зробив, це встановив Office / SharePoint Development за допомогою інсталятора Visual Studio.

введіть тут опис зображення

Після цього я зміг побачити "офіс", ця збірка містить Microsoft.Office.Core.

введіть тут опис зображення

Сподіваюся, це вам допоможе.


18

Вам потрібно завантажити та встановити PIA (основні вузли взаємодії) для тієї версії Office, яку ви використовуєте. Після встановлення ви можете додати посилання на свій проект, і вони будуть доступні в діалоговому вікні додавання посилань. Ось посилання на їх завантаження ...

Office 2010 PIA

Office 2007 PIA

Office 2003 PIA


7
Спробував усіх трьох. Поки що не везе!
Максим Гершкович

3
Встановив PIA, але не зміг знайти їх у "Додати посилання", але тоді це спрацювало для мене, додавши DLL із шляху безпосередньо, наприклад C: \ Windows \ Assembly \ GAC_MSIL \ Microsoft.Office.Interop.Excel \ xxxx \ ... .
oo_dev

2
Мені вдалося знайти інші PIA, але не Microsoft.Office.Core
JohnD

Досі не відображається в списку COM, щоб додати його як посилання
Едвард

5

Якщо хтось не має посилання на .NET. COM (вкладка) або не встановити офіс на машині, де був встановлений Visual, можна:

  1. Завантажте та встановіть: Інструменти розробника Microsoft Office
  2. Додайте посилання з:

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

4

Після встановлення Office PIA (первинні збірки взаємодії), додайте посилання на ваш проект -> його на вкладці .NET - ім'я компонента "Office"


1
Прихильний, бо це насправді це зробило зі мною. Спочатку встановлення посилань на .COM не вирішило проблему.
DrMarbuse

Будемо приємно знати, де знаходиться ця вкладка .NET
Едвард

3

Зараз для цього існує пакет nuget.

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

По-перше, я не знайшов офісу в COM, тому спробував цей самородок, і він спрацював!


1
Додавання до відповіді: Якщо ви встановлюєте бібліотеку Office Interop через консоль диспетчера пакунків NuGet (скажімо, PowerPoint або Excel), схоже, встановіть і це ... те саме, здається, не відповідає дійсності, якщо ви використовуєте графічний інтерфейс Visual Studio NuGet
Тампер

2

Ви насправді переходили до своїх посилань і додавали посилання .NET на бібліотеку "Microsoft.Office.Core"? Якщо ви завантажили приклад програми, відповідь буде ствердною. Якщо це так, дотримуйтесь порад у статті:

Якщо у вашій системі немає Microsoft Office Outlook 2003, можливо, доведеться змінити посилання, що використовуються проектом "OutlookConnector". Тобто, якщо ви отримали помилку збірки, описану як "Тип імені простору імен" Outlook "не вдалося знайти", ви, ймовірно, не маєте Office 2003. Просто розгорніть посилання на проект, видаліть уражені елементи та додайте бібліотека COM, що підходить для вашої системи. Якщо хтось має динамічний спосіб вирішити це, мені буде цікаво побачити, що ви це зробили.

Це має вирішити вашу проблему. Якщо ні, повідомте нас.


2

Якщо ви використовуєте Visual Studio 2012, щоб це працювало, і щоб зробити посилання на Microsoft Office Core, вам потрібно зробити посилання через Visual Studio, натиснувши кнопку Проект, Додати посилання, Розширення у верхньому меню та перевіривши офіс, який зараз (14,0).


1

Якщо ви не можете знайти PIA для Office 2013, виконайте такі дії:

  1. Клацніть на Провідник рішень у Visual Studio
  2. Клацніть правою кнопкою миші на назві вашого проекту (не назви рішення)
  3. Виберіть "Управління пакетами Nuget"
  4. Клацніть на Огляд та пошук PIA 2013, виберіть показаний PIA та натисніть Установити .....

І ви закінчили.



0

З тією ж проблемою я зіткнувся, коли намагався відкрити свій старий проект c # у версії Visual Studio 2017. Ця проблема виникає зазвичай при спробі відкрити проект, який ви створили з попередньою версією VS, і відкрити його з останньою версією. те, що я зробив, це те, що я відкрив свій проект і видалив посилання з мого проекту, а потім додав бібліотеку об’єктів Microsoft Outlook 12.0 та бібліотеку об’єктів Microsoft Office 12.0 Microsoft бібліотеку об’єктів Outlook 12.0


-1

Відкрийте властивості рішення та натисніть Опублікувати. Потім знову натисніть файли додатків. Змінити необхідну умову для включення.


-1

У мене така сама біда. Я перейшов до пункту Додати посилання, вкладка COM, вибрана бібліотека Microsoft Office 15.0 Objetct. Гаразд, і моя проблема закінчується.

частина мого коду:

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()));
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.