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 поможет.

http://msdn.microsoft.com/en-us/library/eftw1fys.aspx

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