Не удается запустить надстройку Outlook для Visual Studio 2010 на компьютере с установленным Outlook 2007

Краткое описание проблемы: Как запустить надстройки Outlook 2010 с установленным только Office 2007

У меня есть 2 машины с установленными Office 2010 и Visual Studio 2010. Один компьютер - 64-битная Windows 7; другая машина - WinXP SP3. Я разработал свою первую надстройку для Outlook 2010 и успешно протестировал ее на каждом ПК.

Требование расширилось, чтобы протестировать эту надстройку с Office (Outlook) 2007, и у меня возникли проблемы.

Вот что я сделал до сих пор:

Я исследовал и пришел к выводу, что Outlook 2010 и Outlook 2007 не могут быть установлены одновременно очень эффективно. Поэтому я удалил Office 2010 со своего ПК с Windows 7 и установил Office 2007. Затем я попытался пересобрать свой проект V-Studio 2010 Outlook 2010 (тот же исходный код, что и раньше) и получил сообщение:

Ошибка 1. Не удалось найти файл bin \ Debug \ Microsoft.Office.Tools.Common.v4.0.Utilities.xml. CBMI.OutlookAddinV2

Я попробовал другой подход:

На этот раз я запустил другое решение V-Studio 2010, выбрав шаблон надстройки Outlook 2007. Затем с помощью проводника Windows я заменил файл ThisAddIn.cs по умолчанию, созданный шаблоном, на ранее работавшую версию, разработанную до того, как Outlook 2010 был удален и заменен на Outlook 2007.

Первая новая проблема с этим подходом возникает в этой строке исходного кода:

 void TaskPane_VisibleChanged(object sender, EventArgs e)
    {
        Globals.Ribbons[inspector].ManageTaskPaneRibbon.toggleButton1.Checked = taskPane.Visible;
    }

Ошибка 1 Имя "Globals" не существует в текущем контексте C: \ Users \ john \ documents \ visual studio 2010 \ Projects \ CBMI.Outlook2007AddinV3 \ CBMI.Outlook2007AddinV3 \ ThisAddIn.cs 36 24 CBMI.Outlook2007AddinV3

Итак, я сбит с толку. В идеале я мог бы разработать с использованием новейших программных платформ Office / Outlook / V-Studio 2010 и создать надстройку, которая работает на клиентских машинах, на которых установлен только Outlook 2007. Возможно ли это?


person John Adams    schedule 16.02.2011    source источник


Ответы (1)


Если вы можете использовать .Net 4 для разработки надстроек, вам повезло. Это позволит вам выполнить проверку версии надстройки на наличие функций, доступных только в более новой офисной версии.

Посмотрите это Статья в блоге VSTO на MSDN для получения информации по этому поводу.

Если, однако, вам необходимо использовать .Net 3.5, вам необходимо создать надстройку 2007, так как она также будет работать в 2010. Обычно это сценарий использования самых старых компонентов, так как более новые версии имеют обратную совместимость, но редко наоборот. около.

Вы также можете создать одну надстройку для 2007 и одну для 2010, но это дублирует большую часть вашей кодовой базы.

person Mikael Svenson    schedule 16.02.2011