Возможно ли создать надстройку VSTO Office 2003 из Visual Studio 2010?

У нас есть существующие надстройки VSTO VS 2008 для Word 2003 и Excel 2003. В настоящее время мы не можем обновить версию Office.

Мы только что попытались обновить наше решение до VS 2010, и оно отлично преобразуется и компилируется, но при создании и запуске надстройки мы получаем сообщение о том, что требуемая версия Office не установлена.

Есть ли способ обойти эту проблему (без обновления до Office 2007 или 2010), чтобы мы могли использовать VS 2010 для создания этой надстройки?

Ответ 1

Нет, к сожалению, это невозможно. VSTO 2010 не будет компилировать решения, предназначенные для Office 2003. Он предназначен для работы с 2007/2010.

Для создания решений для Office 2003 вам понадобится VSTO 2005 на VS2003 или VSTO 2005 SE/VSTO 2008 на VS2008 (в случае более поздних версий вы также можете разработать для Office 2007).

Ответ 2

Нет. Версия Office привязана к версии VSTO, которая привязана к версии Visual Studio. Поскольку VSTO 2010 не поддерживает Office 2003, вы не можете выполнить миграцию.

Кроме того, вам нужно знать, что открытие расширения файла может открыть неправильную версию Office. Например, при запуске более поздние версии Office будут регистрироваться в реестре. Если вы разрабатываете проект VSTO Excel 2003, но вручную открываете книгу Excel 2007, то 2007 становится стандартным. В следующий раз, когда вы работаете над проектом VSTO Excel 2003, он будет использовать Excel 2007. Чтобы вернуться в Excel 2003, вы должны запустить excel /regserver.

Ответ 3

В ответах есть много неудобств.

Во-первых: Visual Studio 2010 может устанавливать свой пакет VSTO даже на машинах, где Office 2010 не установлен, для меня это было сделано при обновлении проекта VS2008/VSTO3.

Во-вторых: обновленные ссылки на сохраненные ссылки проекта на сборки Office 11, Visual Studio 9. (Я честно сомневаюсь, что это пройдет с VS2012, хотя, если эти сборки не являются частью отдельных пакетов времени исполнения VSTO3.0/4.0).

Кроме того, невозможно создать создать проект Office 2003 из VS2010, но fooobar.com/info/376491/... указывает на широкие возможности создания VSTO4.0 (например, Interop для Office 12, Visual Studio 10) для запускать в Office 2003. Я думаю, что также можно запустить его из Studio, изменив настройки проекта, как здесь: С# - не удается отладить надстройку надстрочного слова - таким образом, я рекомендую запускать без отладки (поскольку внешнее приложение не подключено к отладчику при запуске..). Это также показало существование VSTOWord2003Adaptor.dll, которое загружается из каталога VS2008 в моей системе. - надейтесь, что это часть пакетов VSTO3/VSTO4. Другой способ - отредактировать .csproj, предоставив путь к WinWord.exe - fooobar.com/info/170538/... - оба не работают правильно.


Сложнее настроить правильную среду разработки VS2010/VSTO4, чем создать дополнительный таргетинг на Office 2003.