.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 и как это исправить?