Поделиться через


Изменения проектирования проектов Office, предназначенных для .NET Framework 4 или .NET Framework 4.5

Начиная с версии Visual Studio 2010, Visual Studio представлено некоторые изменения в структуре проектов office, целевой объект .NET Framework 4 или .NET Framework 4.5.Если вы знакомы с проектами office в предыдущих версиях Visual Studio, необходимо учитывать этих изменений перед разработкой проектов office этот целевой объект эти версии платформы .NET Framework.По умолчанию все проекты, созданные с помощью целевого объекта Visual Studio 2012 эти версии.

В следующих разделах эти изменения проекта office.

Общие сведения о разработке пакета средств Visual Studio 2010 Tools для Office Runtime, основанной на интерфейсах

При создании проекта office, целевых объектов .NET Framework 4 или .NET Framework 4.5, большинство типов, используемых в средствах Visual Studio 2010 для выполнения office интерфейсы.Это значительное изменение по сравнению с предыдущими версиями Visual Studio Tools for Office (cреда выполнения), в которых эти типы являются классами.Например, если целевой объект .NET Framework 4 или .NET Framework 4.5, Worksheet и Document вместо типов интерфейсов классов.Дополнительные сведения см. в разделе Общие сведения об инструментах Visual Studio для среды выполнения Office.

Теперь для любых типов, экземпляры которых в предыдущих версиях Visual Studio Tools for Office (cреда выполнения) создавались напрямую, теперь используются методы объекта Globals.Factory, которые и получают экземпляры нужных типов.Например, чтобы получить объект, реализующий интерфейс SmartTag, используйте метод Globals.Factory.CreateSmartTag.Дополнительные сведения см. в следующих разделах:

Ee712588.collapse_all(ru-ru,VS.110).gifНовые базовые классы в проектах Office

Новая разработка на основе интерфейса средства Visual Studio 2010 для выполнения office влияет на созданные классы в проектах office, например ThisDocument, ThisWorkbook и ThisAddIn.В проектах, ориентированных на платформу .NET Framework 3.5 и предыдущие версии, эти созданные классы являются производными из классов в Visual Studio Tools for Office (cреда выполнения), таких как Microsoft.Office.Tools.Word.Document, Microsoft.Office.Tools.Excel.Worksheet и Microsoft.Office.Tools.AddIn.В проектах, целевой объект .NET Framework 4 или .NET Framework 4.5, эти классы Visual Studio Tools for Office (cреда выполнения) теперь интерфейсы.Поэтому созданные классы в проектах Office больше не могут наследовать свои реализации от этих интерфейсов.Вместо этого созданные классы наследуют от новых базовых классов, таких как DocumentBase, WorksheetBase и AddInBase.Дополнительные сведения см. в разделах Программирование надстроек уровня приложения и Настройки программирования уровня документа.

Базовые классы не являются частью создаваемых в Visual Studio Tools for Office (cреда выполнения) пакетов распространения.Вместо этого они определяются в вспомогательных сборках, которые включаются в Visual Studio 2012.Эти сборки копируются в папку выходных данных при построении проектов Office и должны разворачиваться вместе с решением.Дополнительные сведения об этих сборках см. в разделе Сборки среды выполнения Visual Studio Tools for Office.

Важные изменения в проектах Office, переориентированных на платформу .NET Framework 4

В следующей таблице приводятся некоторые важные изменения в проектах office, переориентированных на .NET Framework 4 или .NET Framework 4.5.Дополнительные сведения см. в разделе Перенос решений Office на платформу .NET Framework 4 или .NET Framework 4.5.

Критическое изменение

Последствия

Атрибут SecurityTransparentAttribute больше не используется и не поддерживается в проектах Office.

Необходимо удалить этот атрибут из файла кода AssemblyInfo в проектах офис, которые были перенесены из Visual Studio 2008.Дополнительные сведения см. в разделе Изменения, необходимые для выполнения проектов Office, которые переносятся на платформу .NET Framework 4 или .NET Framework 4.5.

Атрибут ExcelLocale1033Attribute больше не используется и не поддерживается в проектах Excel.

Необходимо удалить этот атрибут из файла кода AssemblyInfo в проектах Excel.Дополнительные сведения см. в разделе Обновление проектов Excel и Word, которые переносятся в .NET Framework 4 или .NET Framework 4.5.

Изменилась модель программирования элементов проекта Лента (визуальный конструктор).

Необходимо изменить файл кода программной части для любых элементов ленты в проекте.Необходимо изменить любой код, который создает элементы управления ленты во время выполнения, обрабатывает события ленты, или задает положение компонента ленты программными средствами.Дополнительные сведения см. в разделе Обновление настроек ленты в проектах Office, которые переносятся на платформу .NET Framework 4 или .NET Framework 4.5.

Изменилась модель программирования областей формы Outlook.

Необходимо изменить файл кода программной части для любых областей формы в проекте и любой код, который создает экземпляры определенных классов области формы во время выполнения.Дополнительные сведения см. в разделе Обновление областей формы в проектах Outlook, которые переносятся на платформу .NET Framework 4 или .NET Framework 4.5.

Изменилась модель программирования смарт-тегов в проектах Excel и Word.Не рекомендуется использовать смарт-теги в Excel 2010 и Word 2010.

Если решение использует смарт-теги, возникают ошибки при построении проекта.Поскольку они стали сопоставления в Excel 2010 и Word 2010, необходимо удалить теги перед запуском теста и отладке решения в Visual Studio 2012.

Изменился синтаксис методов GetVstoObject и HasVstoObject

Теперь необходимо передавать в эти методы объект Globals.Factory при доступе к ним в собственных объектах из основных сборок взаимодействия, или доступ к этим методам можно получать в объекте, возвращенном свойством проекта Globals.Factory.Дополнительные сведения см. в разделе Обновление проектов Excel и Word, которые переносятся в .NET Framework 4 или .NET Framework 4.5.

События элементов управления содержимым Word связаны с новыми делегатами.

Необходимо изменить любой код, который обрабатывает события элементов управления содержимым Word, чтобы указать новые делегаты.Дополнительные сведения см. в разделе Обновление проектов Excel и Word, которые переносятся в .NET Framework 4 или .NET Framework 4.5.

Были переименованы классы OLEObject и OLEControl.

Необходимо изменить любой код, который использует экземпляры этих классов, чтобы вместо них указывались объекты Microsoft.Office.Tools.Excel.ControlSite или Microsoft.Office.Tools.Word.ControlSite.Дополнительные сведения см. в разделе Обновление проектов Excel и Word, которые переносятся в .NET Framework 4 или .NET Framework 4.5.

Классы ведущих элементов, например nThisWorkbook, Sheet, ThisDocument и ThisAddIn, больше не предоставляют метод Dispose, который можно переопределить.

Необходимо изменить любой код при переопределении метода Dispose в обработчик событий Shutdown класса ведущего элемента, например ThisAddIn_Shutdown, и удалите переопределение метода Dispose из класса ведущего элемента.

См. также

Основные понятия

Перенос решений Office на платформу .NET Framework 4 или .NET Framework 4.5

Общие сведения об инструментах Visual Studio для среды выполнения Office

Другие ресурсы

Новые возможности разработки решений Office