2013-06-12 3 views
3

С недавних пор Visual Studio Tools for Office 2012 (VSTO 2012) - available for download.VSTO 2012: обратная совместимость

Может ли эта новая версия по-прежнему использоваться для разработки надстроек для старых версий Office (2007,2010)? Существуют ли какие-либо преимущества перед VSTO 4.0 (помимо поддержки Office 2013)

+0

Не ответ, потому что я не уверен, но я думаю, что обратная совместимость здесь работает по-другому, так как вы можете использовать более ранние версии VSTO для разработки более поздних версий Office, но не наоборот. – JMK

+0

Я знаю, что VSTO2012 можно использовать для разработки решений Office 2010, если вы измените целевую структуру на .NET4. Что я не знаю, если я создаю решение Office 2010 в VS2012, могу ли я открыть его в VS2010? – Holf

ответ

1

Насколько я знаю, вы можете развернуть свое решение в офисе предыдущей версии. Однажды я разработал надстройку для ppt 2013, и она отлично работала в ppt 2010. Обратите внимание, что API для нового VSTO имеет несколько дополнительных функций, и в последний раз я использовал только существующие функции, но не новые.

Я никогда не тестировал это, но думаю, если вы используете новый обработчик событий, который работает только в 2013 году, когда вы его развертываете в 2010 году, он просто ничего не делает/не работает.

Как я уже упоминал, очевидное преимущество нового VSTO - это больше возможностей, например, в ppt 2013, у него есть обработчик событий, когда пользователи перетягивают, вы должны проверить их сами. Если вашему решению не нужны эти новые функции, вы можете разработать его в предыдущей версии VSTO, чтобы обеспечить обратную совместимость.

3

Да, это возможно. Я использую VS2012 для проекта Excel 2007, и он отлично работает.

Фокус в том, чтобы изменить путь отладки в файле проекта, чтобы VS использовал более старую версию приложения Office, для которого предназначен ваш плагин.

  1. Создать свой проект VSTO (пусть VS создать проект для Office 2010)
  2. Отредактируйте файл проекта и найти <ProjectProperties> с атрибутом HostName. Он будет дочерним элементом элемента <VisualStudio>.
  3. Измените значение атрибута DebuginfoExeName атрибута <ProjectProperties> быть путь к старой версии приложения Microsoft Office .exe файл
  4. Сохранить проект

Теперь, когда вы идете, чтобы отладить приложение должно запустить более старую версию вашего приложения Office и подключите этот процесс для загрузки вашего VSTO.

В моем проекте, новый <ProjectProperties> элемент выглядит следующим образом для Excel 2007:

<ProjectProperties 
    HostName="Excel" 
    HostPackage="{20A848B8-E01F-4801-962E-25DB0FF57389}" OfficeVersion="14.0" 
    VstxVersion="4.0" 
    ApplicationType="Excel" 
    Language="cs" 
    TemplatesPath="" 
    DebugInfoExeName="#Software\Microsoft\Office\12.0\Excel\InstallRoot\Path#excel.exe" 
    AddItemTemplatesGuid="{51063C3A-E220-4D12-8922-BDA915ACD783}" /> 

Deployment также работает отлично. Я развертываю свою надстройку через ClickOnce и добавляется к клиентам Excel 2007 без каких-либо дополнительных изменений.

Смежные вопросы