Изменения проектирования проектов 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.Дополнительные сведения см. в следующих разделах:
Новые базовые классы в проектах 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