Надстройка Outlook (VSTO 4) — VS2010 автоматически ссылается на старую сборку VSTO при добавлении новой области формы

#visual-studio-2010 #vsto #outlook-addin

#visual-studio-2010 #vsto #outlook-надстройка

Вопрос:

У меня есть проект надстройки Outlook, который был впервые разработан в Visual Studio 2008 с использованием VSTO 3.0 и ориентирован на Outlook 2007. В этом проекте было несколько пользовательских областей формы, которые добавляли функциональность определенным инспекторам AppointmentItem и TaskItem, которые были успешно добавлены в проект и работали нормально.

В конце прошлого года мы перешли на VS2010 и в то же время приняли решение настроить таргетинг на версии Outlook 2007 и 2010. Преобразование проекта, казалось, прошло гладко, я изменил цель проекта на использование VSTO 4.0 (добавив код обработки версий в соответствии с предложением в этой статье: http://blogs.msdn.com/b/vsto/archive/2010/06/04/creating-an-add-in-for-office-2007-and-office-2010-that-quot-lights-up-quot-on-office-2010-mclean-schofield.aspx) , и все казалось прекрасным. Существующие области формы работают без проблем как в 2007, так и в 2010 годах.

Я добавляю некоторые новые функциональные возможности в надстройку и сегодня добавил новую область формы в проект в рамках этой работы. Когда я это сделал, VS2010 автоматически добавил сборку VSTO 3 в проект (в частности: Microsoft.Офис.Инструменты.Outlook.v9.0.dll ), что вызвало всевозможные коллизии пространств имен и активно испортило конструктор областей формы.

Я перепробовал все, что мог придумать, чтобы запретить VS2010 автоматически добавлять эту сборку, включая ручное редактирование файла csproj, чтобы убедиться, что ссылок на VSTO 3 нет, но это поведение сохраняется. Каждый раз, когда я добавляю область формы (используя Добавить новый элемент -> Область формы Outlook), VS2010 настаивает на добавлении вышеупомянутой сборки, что наносит ущерб моему проекту. Кто-нибудь сталкивался с таким поведением в VS2010? И есть ли какое-либо обходное решение?

Заранее спасибо. Пожалуйста, дайте мне знать, если потребуется предоставить дополнительную информацию.

Комментарии:

1. Что ж, я не смог найти способ запретить VS2010 автоматически добавлять ссылку на старую сборку VSTO, но я нашел обходной путь. Благодаря отличной информации у Бет Масси ( bit.ly/tNcVGQ ) и MSDN ( bit.ly/tssF5b ), после добавления новой области формы (которая по сути является просто пользовательским элементом управления с дополнительными битами VSTO), я удалил ссылку на старую сборку, а затем вручнуюоткат кода для области формы. Перезапустите VS2010, и все снова будет в порядке с областью формы (включая поддержку конструктора). Это не очень хорошо, и я бы предпочел не касаться кода автоматической генерации, но это работает.