Может ли надстройка Excel VSTO быть совместимой с Excel 2007 и 2010? - PullRequest
4 голосов
/ 01 ноября 2010

Можно ли разработать надстройку Excel с использованием VSTO, которую можно развернуть как в Excel 2007, так и в 2010 году?

Буду также признателен за любые ссылки на подробный ресурс по этой теме - я не могу найти в Google ничего, что бы конкретно решало этот вопрос.

Я разрабатываю надстройку C # excel с использованием Visual Studio 2010.

1 Ответ

8 голосов
/ 02 ноября 2010

Я уже ответил на это для Word, но это также относится и к Excel:

Если вы хотите выполнить развертывание в Office 2010 и 2007, необходимо добавить ссылки на сборки v12.0 ( Microsoft.Office.Interop.Excel и Office ).

Теперь по-прежнему существует проблема, заключающаяся в том, что вашему надстройке потребуется PIA 2007 года, но они не будут установлены, если у вас есть только Office 2010 на целевом компьютере (потому что у них есть Office 2007 в качестве предварительного условия). Чтобы решить эту проблему, вы должны установить Embed Interop Assemblies = true для этих двух dll (в ссылочных свойствах) и использовать dynamic для типов, которые вы больше не можете напрямую ссылаться.

Это вызывает некоторые «странности», когда Intellisense не находит методы и т. Д., Но это не должно быть большой проблемой - по крайней мере, теперь PIA больше не требуется, и ваше дополнение будет развернуто как в 2007, так и в 2010 году (вам придется позаботьтесь и об установщике, но это уже совсем другая история).

Это немного беспорядок, но если вы работаете с VSTO, я полагаю, вы привыкли к таким вещам: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...