Не удается получить Microsoft.Office.Interop ссылку на работу

У меня есть приложение winforms С#, и я просто пытаюсь открыть лист Excel. Когда я пытаюсь добавить ссылку на Microsoft.Office.Interop, часть "Office" красная и говорит "Не удается разрешить символ" Офис "".

Когда я пытаюсь построить, ошибка:

The type or namespace name 'Office' does not exist in the namespace 'Microsoft' 
    (are you missing an assembly reference?)

У меня установлен Office 2012, и я думаю, что у меня установлены первичные сборки Interop... но я не уверен.

Я знаю, что это должно быть так просто, но я искал ответ на этот вопрос почти час и просто не могу понять. Спасибо заранее!

Ответ 1

Вам нужно добавить ссылку на сборку библиотеки в ваш проект. Они называются "Первичные сборки взаимодействия".

(Предполагается, что Visual Studio 2010)

Процедура

  • откройте окно обозревателя решений
  • разверните папку вашего проекта баян.
  • щелкните правой кнопкой мыши на элементе ссылок
  • выберите "добавить ссылку" из выпадающего
  • выберите вкладку .NET и найдите библиотеку объектов с именем Microsoft.Office.Interop.Excel.
  • нажмите ОК

add reference window with excel interop hilighted

Библиотека объектов должна теперь появиться в ваших ссылках.

reference folder accordion with excel library hilighted

Ответ 2

Используйте диспетчер пакетов NuGet в VS2015

  • Щелкните правой кнопкой мыши в проекте вашей визуальной студии
  • Выберите "Управление пакетами NuGet"
  • Введите microsoft.office в поле поиска
  • Выберите Microsoft.Office.Interop.Excel
  • Нажмите "Установить"
  • Восстановите свое решение

Ответ 3

У меня была такая же ошибка сегодня утром, с приложением Winforms, которое всегда прекрасно строилось в прошлом. Все, что изменилось, было то, что наша компания обновила наши ноутбуки с Excel 2007 до Excel 2013.

После некоторого расследования я понял, что приложение было .Net 3.5-приложением, и хотя Solution Explorer предположил, что все референции прекрасны.

Обозреватель решений

... на самом деле они не были. Знак "подсказка" заключался в том, что когда я попытался повторно добавить ссылки в приложении, их не удалось найти...

Interop

Что мне нужно было сделать:

  • обновите приложение с .Net 3.5 до .Net 4.5
  • удалить связанные с Office ссылки (первые 5, показанные в моем первом снимок экрана выше)
  • повторно добавьте ссылки (теперь показаны как версии 14 или 15)

Мне также пришлось изменить одну строку кода:

excel = new Excel.ApplicationClass();

to

excel = new Excel.Application();

Как только я это сделал, приложение построено без ошибок и успешно прошло успешно.

Ответ 4

Я думаю, что вам не хватает ссылки на dll. Добавьте файл Microsoft.Office.Interop.Excel.dll для ссылки на проект, а затем попробуйте.

Ответ 5

Более простой способ добавить этот пакет в VS 2015:

в строке кода с помощью пакета нажмите "Alt + Enter", затем выберите "Найти это пространство имен на nuget.org" введите описание изображения здесь

Установите его и наслаждайтесь:) введите описание изображения здесь

Ответ 6

Вам нужно установить Office 2013, чтобы очистить эту ошибку сборки.