Cambios en el diseño de los proyectos de Office destinados a .NET Framework 4
Visual Studio 2010 incluye algunos cambios en el diseño de los proyectos de Office destinados a .NET Framework 4. Si está familiarizado con los proyectos de Office en las versiones anteriores de Visual Studio, debe conocer estos cambios para poder desarrollar proyectos de Office que tengan como destino .NET Framework 4. Si desea actualizar un proyecto existente de modo que tenga como destino .NET Framework 4, hay algunos cambios importantes que debe conocer.
Introducción al diseño basado en interfaz de Microsoft Visual Studio 2010 Tools para Office Runtime
Cuando se desarrolla un proyecto de Office destinado a .NET Framework 4, la mayoría de los tipos que se usan en el Visual Studio 2010 Tools para Office Runtime son interfaces. Se trata de un cambio importante respecto a las versiones anteriores de Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office, en las que estos tipos son clases. Por ejemplo, cuando el destino es .NET Framework 4, los tipos Document y Worksheet son interfaces en lugar de clases. Para obtener más información, vea Información general sobre el Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office.
Para los tipos de los que se podían crear instancias directamente en las versiones anteriores del Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office, ahora se usan métodos del objeto Globals.Factory para obtener instancias de estos tipos. Por ejemplo, para obtener un objeto que implemente la interfaz SmartTag, utilice el método Globals.Factory.CreateSmartTag. Para obtener más información, vea los temas siguientes:
Actualizar los proyectos de Excel y Word migrados a .NET Framework 4
Actualizar las personalizaciones de la Cinta en los proyectos de Office migrados a .NET Framework 4
Actualizar las áreas del formulario en los proyectos de Outlook migrados a .NET Framework 4
Nuevas clases base en proyectos de Office
El nuevo diseño basado en interfaz del Visual Studio 2010 Tools para Office Runtime afecta a las clases generadas en los proyectos de Office, como ThisDocument, ThisWorkbook y ThisAddIn. En proyectos de Office destinados a .NET Framework 3.5 y versiones anteriores, estas clases generadas se derivan de las clases del Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office, como Microsoft.Office.Tools.Word.Document, Microsoft.Office.Tools.Excel.Worksheet y Microsoft.Office.Tools.AddIn. En proyectos destinados a .NET Framework 4, estas clases del Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office son interfaces. Por consiguiente, las clases generadas en los proyectos de Office ya no pueden derivar su implementación de dichas clases. En su lugar, las clases generadas se derivan de nuevas clases base, como DocumentBase, WorksheetBase y AddInBase. Para obtener más información, vea Programar complementos de nivel de aplicación y Programar personalizaciones de nivel de documento.
Las clases base no forman parte del paquete redistribuible del Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office. En su lugar, se definen en ensamblados de utilidades que se incluyen con Visual Studio 2010. Estos ensamblados se copian en la carpeta de salida cuando se compilan los proyectos de Office y se deben implementar junto con la solución. Para obtener más información sobre los ensamblados de utilidades, vea Ensamblados en el Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office.
Cambios importantes en los proyectos de Office que se redestinan a .NET Framework 4
En la tabla siguiente se enumeran los cambios importantes principales que se pueden encontrar en los proyectos de Office que se redestinan a .NET Framework 4. Para obtener información más detallada, vea Migrar soluciones de Office a .NET Framework 4.
Cambio importante |
Consecuencia |
---|---|
SecurityTransparentAttribute ya no se utiliza o ya no se admite en los proyectos de Office. |
Debe quitar este atributo del archivo de código AssemblyInfo en los proyectos de Office que actualice desde Visual Studio 2008. Para obtener más información, vea Cambios necesarios para ejecutar proyectos de Office migrados a .NET Framework 4. |
ExcelLocale1033Attribute ya no se utiliza o ya no se admite en los proyectos de Excel. |
Debe quitar este atributo del archivo de código AssemblyInfo en los proyectos de Excel. Para obtener más información, vea Actualizar los proyectos de Excel y Word migrados a .NET Framework 4. |
Ha cambiado el modelo de programación de los elementos de proyecto Cinta (diseñador visual). |
Debe modificar el archivo de código subyacente de todos los elementos de cinta de opciones en el proyecto. Asimismo, debe modificar cualquier código que cree instancias del control Ribbon en tiempo de ejecución, administre los eventos de Ribbon o establezca la posición de un componente de Ribbon mediante programación. Para obtener más información, vea Actualizar las personalizaciones de la Cinta en los proyectos de Office migrados a .NET Framework 4. |
Ha cambiado el modelo de programación de las áreas de formulario de Outlook. |
Debe modificar el archivo de código subyacente de todas las áreas de formulario en el proyecto y cualquier código que cree instancias de determinadas clases de área de formulario en tiempo de ejecución. Para obtener más información, vea Actualizar las áreas del formulario en los proyectos de Outlook migrados a .NET Framework 4. |
Ha cambiado el modelo de programación de las etiquetas inteligentes en Excel y Word. Las etiquetas inteligentes están desusadas en Excel 2010 y Word 2010. Para obtener más información, vea Información general sobre etiquetas inteligentes. |
Debe modificar cualquier código que cree objetos de etiqueta inteligente y de acción, así como cualquier código que defina un identificador personalizado de etiquetas inteligentes. Para obtener más información, vea Actualizar los proyectos de Excel y Word migrados a .NET Framework 4. |
Ha cambiado la sintaxis de los métodos GetVstoObject y HasVstoObject. |
Se debe pasar el objeto Globals.Factory a estos métodos cuando se obtiene acceso a los mismos en objetos nativos de los ensamblados de interoperabilidad primarios (PIA), o se puede obtener acceso a estos métodos en el objeto devuelto por la propiedad Globals.Factory del proyecto. Para obtener más información, vea Actualizar los proyectos de Excel y Word migrados a .NET Framework 4. |
Los eventos de los controles de contenido de Word están asociados a nuevos delegados. |
Debe modificar cualquier código que administre los eventos de los controles de contenido de Word de modo que se especifiquen los nuevos delegados. Para obtener más información, vea Actualizar los proyectos de Excel y Word migrados a .NET Framework 4. |
Ha cambiado el nombre de las clases OLEObject y OLEControl. |
Debe modificar cualquier código que utilice instancias de estas clases de modo que use objetos Microsoft.Office.Tools.Word.ControlSite o Microsoft.Office.Tools.Excel.ControlSite. Para obtener más información, vea Actualizar los proyectos de Excel y Word migrados a .NET Framework 4. |
Las clases de elementos host (como ThisWorkbook, Sheetn, ThisDocument y ThisAddIn) ya no proporcionan un método Dispose que se puede invalidar. |
Debe mover cualquier código en la invalidación del método Dispose al controlador de evento Shutdown en la clase de elemento host (por ejemplo, ThisAddIn_Shutdown), y quitar la invalidación del método Dispose de la clase de elemento host. |
Vea también
Conceptos
Migrar soluciones de Office a .NET Framework 4
Novedades del desarrollo de Office
Historial de cambios
Fecha |
Historial |
Motivo |
---|---|---|
Mayo de 2010 |
Se ha agregado información sobre la eliminación del método Dispose en proyectos destinados a .NET Framework 4. |
Mejora de la información. |