Проект C# Visual Studio 2017 с кодом Microsoft.Office.Interop.Word 2016/365 и рабочей версией 2010

Я кодирую один из своих первых проектов в Visual Studio 2017, используя инструменты взаимодействия Microsoft Office, чтобы в основном открывать некоторые файлы Word, извлекать некоторый контент и экспортировать его в файл XML. Я знаю, что на целевой машине должен быть установлен Office, и на самом деле на этом ПК установлена ​​​​установка 2010, а на моем ПК у меня установлен пакет 365.

Первая сборка работала только на моем ПК с ошибками отсутствия ссылок на библиотеку взаимодействия на рабочем ПК, поэтому я загрузил распространяемый пакет Microsoft Office 2010: Primary Interop Assemblies https://www.microsoft.com/en-us/download/details.aspx?id=3508 включить в качестве ссылки в мой проект, заменив версию 2016 года.

Первая трудность заключалась в следующем: после установки я не могу найти ни файлы на диске, ни ссылку в Visual Studio, ни в документации. Есть ли информация о том, где подобрать dll?

Поэтому я распаковал из кабины WORDPIA.DLL в удобный каталог и сослался на него в своем проекте.

Хотя он работает локально, его еще нет на рабочем ПК. Я уверен, что упустил много моментов по этой теме, VS и C# не моя территория, но мне нужны советы, чтобы закончить проект.


person Glauco Rovere    schedule 12.12.2018    source источник
comment
Я бы рекомендовал вам не использовать взаимодействие, потому что оно было заменено на SDK Open XML для Office — при условии, что вы используете файлы docx, а не файлы .doc. Используя SDK, вам не нужно беспокоиться об установке Word на компьютерах, использующих его.   -  person Wai Ha Lee    schedule 12.12.2018
comment
Что ж, это был способ, но мне также нужно прочитать .doc. На самом деле я тоже тестирую библиотеку Gembox и, кажется, работает довольно хорошо, но она не бесплатна, даже если в 99% моих файлов мне нужно прочитать менее 20 абзацев.   -  person Glauco Rovere    schedule 12.12.2018


Ответы (1)


Вернитесь к исходному проекту (или обратитесь к версии PIA, установленной на вашем компьютере). Распространяемый компонент предназначен для установки на компьютер с Office 2010, на котором не были установлены PIA. Он не предназначен для использования так, как вы себе представляете.

Теперь щелкните каждую справочную запись «interop» и посмотрите в окно «Свойства». Должен быть параметр «Встроить типы взаимодействия». Установите это на Истина. Это должно сделать проект независимым от версии, поскольку он будет содержать информацию PIA, которую использует ваш проект.

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

Обратите внимание, что встроенные типы взаимодействия были представлены в .NET Framework 4.0 и недоступны для более ранних версий Framework. Если требуется более ранняя версия, вам необходимо использовать позднее связывание или разрабатывать проект с помощью Office 2010.

person Cindy Meister    schedule 12.12.2018
comment
@GlaucoRovere Я обновил ответ. Вчера был на мобильном устройстве, поэтому не имел доступа к деталям... - person Cindy Meister; 14.12.2018