.NET core 3.0 и MS Office Interop не работают вместе в некоторых сценариях

Я использую WPF .NET Core 3.1 приложение для автоматизации Microsoft WORD. Как мы знаемOffice COMссылки не работают с.NET Core 3.1. Но есть обходной путь, как описано здесь или как описано вNoteздесь в официальном образце.NET Core Excel или другой обходной путь, описанный здесь.

Вышеупомянутые обходные пути работают почти во всех случаях в моем WPF Core 3.1 приложение для WORD автоматизация, за исключением некоторых случаев, таких как показанный ниже, где я получаю следующую ошибку в последней строке кода:

Код:

....
using WORD = Microsoft.Office.Interop.Word;
oApp = new WORD.Application();
oApp.Visible = true;
WORD.Document oDoc = oApp.Documents.Open(@"C:\tmp\Test.docx");

string st = oDoc.Paragraphs[1].Range.Text; //this line correctly shows the content of Paragraph[1]
st = oDoc.Paragraphs[1].get_Style().NameLocal; //this line throws the error shown below

Ошибка:

System._ComObject не содержит определения для NameLocal

Примечание: вышеуказанная ошибка не возникает в моем аналогичном проекте в WPF..NET FullNetworkприложение. И там правильно отображает значениеoDoc.Paragraphs[1].get_Style().NameLocal как Normal если абзац обычный абзац, или он отображает, скажем, Heading 1 если абзац является заголовком 1 и т. д.

Вопрос: Что могло быть причиной ошибки в приведенном вышеWPF .NET Core 3.1 app и как это исправить?

0 ответов

Другие вопросы по тегам