Word Automation обратная совместимость с Word 2003
Я работаю над кодом автоматизации Word в C#. У меня Word 2007 установлен на моем собственном компьютере (версия 12.0.0.0 Microsoft.Office.Interop.Word.dll), но я хотел бы как минимум поддерживать Word 2003 (версия 11.0.0.0 Microsoft.Office.Interop.Word. Dll?).
Не имея Word 2003 для меня, есть ли способ настроить его так, чтобы мой код был обратно совместим? Я не могу установить распространяемый пакет PIA без установленного Word 2003.
3 ответа
Мое решение состояло в том, чтобы получить копию Microsoft.Office.Interop.Word.dll и office.dll с компьютера с установленным Word 2003. Они используются только для сборки, так что мой код работает на системах с Word 2003. Не идеально, но работает.
Если вы не против потерять intellisense и используете.Net 4, вы можете полностью избавиться от PIA с помощью динамического.
Пример кода:
var type = Type.GetTypeFromProgID("Word.Application");
dynamic word = Activator.CreateInstance(type);
word.visible = true;
Я вполне уверен, что создание bindingRedirect в app.config поможет.