Cambios en el diseño de proyectos de Office destinados a .NET Framework 4 o .NET Framework 4.5Changes to the Design of Office Projects that Target the .NET Framework 4 or the .NET Framework 4.5

A partir de Visual Studio 2010Visual Studio 2010, Visual Studio introdujo algunos cambios en el diseño de los proyectos de Office destinados a .NET Framework 4.NET Framework 4 o versiones posteriores.Starting in Visual Studio 2010Visual Studio 2010, Visual Studio introduced some changes to the design of Office projects that target the .NET Framework 4.NET Framework 4 or later. Si está familiarizado con los proyectos de Office en versiones anteriores de Visual Studio, debe tener en cuenta estos cambios a la hora de desarrollar proyectos de Office destinados a esas versiones de .NET Framework 4.0 o versiones posteriores.If you are familiar with Office projects in previous versions of Visual Studio, you should be aware of these changes before you develop Office projects that target those versions of the .NET Framework 4.0 or later. De forma predeterminada, todos los proyectos creados con Visual Studio 2013 o versiones posteriores van destinados a .NET Framework 4.0 o versiones posteriores.By default, all projects that you create by using Visual Studio 2013 or later target the .NET Framework 4.0 or later.

En las secciones siguientes se describen estos cambios de diseño de los proyectos de Office.The following sections describe these Office project design changes.

Introducción al diseño basado en interfaces del Motor en tiempo de ejecución de Visual Studio 2010 Tools para OfficeUnderstanding the Interface-Based Design of the Visual Studio 2010 Tools for Office Runtime

Al desarrollar un proyecto de Office destinado a .NET Framework 4.NET Framework 4 o versiones posteriores, la mayoría de los tipos que se usan en el Motor en tiempo de ejecución de Visual Studio 2010 Tools para Office son interfaces.When you develop an Office project that targets the .NET Framework 4.NET Framework 4 or later, most of the types that you use in the Visual Studio 2010 Tools for Office Runtime are interfaces. Este es un importante cambio con respecto a las versiones anteriores del Runtime de Microsoft Visual Studio Tools para OfficeVisual Studio Tools for Office runtime, donde estos tipos eran clases.This is a major change from previous versions of the Runtime de Microsoft Visual Studio Tools para OfficeVisual Studio Tools for Office runtime, where these types are classes. Por ejemplo, cuando el destino es .NET Framework 4.NET Framework 4 o versiones posteriores, los tipos Worksheet y Document son interfaces en lugar de clases.For example, when you target the .NET Framework 4.NET Framework 4 or later, the Worksheet and Document types are interfaces instead of classes. Para obtener más información, consulta Visual Studio Tools for Office Runtime Overview.For more information, see Visual Studio Tools for Office Runtime Overview.

En los tipos cuya instancia se pudieron crear directamente en versiones anteriores de la Runtime de Microsoft Visual Studio Tools para OfficeVisual Studio Tools for Office runtime, ahora se usan métodos del objeto Globals.Factory para obtener las instancias de estos tipos.For any types that you could instantiate directly in previous versions of the Runtime de Microsoft Visual Studio Tools para OfficeVisual Studio Tools for Office runtime, you now use methods of the Globals.Factory object to get instances of these types. Por ejemplo, para obtener un objeto que implementa el SmartTag la interfaz, use el método Globals.Factory.CreateSmartTag.For example, to get an object that implements the SmartTag interface, use the Globals.Factory.CreateSmartTag method. Para obtener más información, vea los temas siguientes:For more information, see the following topics:

Nuevas clases base en proyectos de OfficeNew Base Classes in Office Projects

El nuevo diseño basado en interfaces del Motor en tiempo de ejecución de Visual Studio 2010 Tools para Office afecta a las clases generadas en proyectos de Office, como ThisDocument, ThisWorkbooky ThisAddIn.The new interface-based design of the Visual Studio 2010 Tools for Office Runtime affects the generated classes in Office projects, such as ThisDocument, ThisWorkbook, and ThisAddIn. En proyectos de Office destinados a .NET Framework 3.5 y versiones anteriores de framework, estas clases generadas se derivan de clases en el Runtime de Microsoft Visual Studio Tools para OfficeVisual Studio Tools for Office runtime como Microsoft.Office.Tools.Word.Document, Microsoft.Office.Tools.Excel.Worksheet, y Microsoft.Office.Tools.AddIn.In Office projects that target the .NET Framework 3.5 and previous versions of the framework, these generated classes derive from classes in the Runtime de Microsoft Visual Studio Tools para OfficeVisual Studio Tools for Office runtime such as Microsoft.Office.Tools.Word.Document, Microsoft.Office.Tools.Excel.Worksheet, and Microsoft.Office.Tools.AddIn. En los proyectos que tienen como destino .NET Framework 4.NET Framework 4 o versiones posteriores, estas clases Runtime de Microsoft Visual Studio Tools para OfficeVisual Studio Tools for Office runtime son interfaces.In projects that target the .NET Framework 4.NET Framework 4 or later, these Runtime de Microsoft Visual Studio Tools para OfficeVisual Studio Tools for Office runtime classes are now interfaces. Por lo tanto, las clases generadas en proyectos de Office ya no pueden derivar su implementación de ellas.Therefore the generated classes in Office projects can no longer derive their implementation from them. En su lugar, las clases generadas derivan de nuevas clases base como DocumentBase, WorksheetBasey AddInBase.Instead, the generated classes derive from new base classes such as DocumentBase, WorksheetBase, and AddInBase. Para obtener más información, vea Programming VSTO Add-Ins y Programming Document-Level Customizations.For more information, see Programming VSTO Add-Ins and Programming Document-Level Customizations.

Las clases base no forman parte de Runtime de Microsoft Visual Studio Tools para OfficeVisual Studio Tools for Office runtime redistribuible.The base classes are not part of the Runtime de Microsoft Visual Studio Tools para OfficeVisual Studio Tools for Office runtime redistributable. En su lugar, se definen en ensamblados de utilidades incluidos en Visual Studio.Instead, they are defined in utilities assemblies that are included with Visual Studio. Estos ensamblados se copian en la carpeta de salida al compilar proyectos de Office y se deben implementar con la solución.These assemblies are copied to the output folder when you build Office projects and must be deployed with your solution. Para obtener más información sobre los ensamblados de utilidades, vea Assemblies in the Visual Studio Tools for Office Runtime.For more information about the utilities assemblies, see Assemblies in the Visual Studio Tools for Office Runtime.

Cambios importantes en los proyectos de Office que se redestinan a .NET Framework 4Breaking Changes in Office Projects that Are Retargeted to the .NET Framework 4

En la tabla siguiente se enumeran los principales cambios importantes que se puede encontrar en los proyectos de Office que se redestinan a .NET Framework 4.NET Framework 4 o versiones posteriores.The following table lists the main breaking changes you can encounter in Office projects that are retargeted to the .NET Framework 4.NET Framework 4 or later. Vea Migrating Office Solutions to the .NET Framework 4 or laterpara obtener información más detallada.For further details, see Migrating Office Solutions to the .NET Framework 4 or later.

Cambio importanteBreaking change ConsecuenciaConsequence
SecurityTransparentAttribute ya no se usa o no se admite en proyectos de Office.The SecurityTransparentAttribute is no longer used or supported in Office projects. Debe quitar este atributo del archivo de código AssemblyInfo de los proyectos de Office que actualice desde Visual Studio 2008.You must remove this attribute from the AssemblyInfo code file in Office projects that you upgrade from Visual Studio 2008. Para obtener más información, consulte cambios necesarios para la ejecución de proyectos de Office migrados a .NET Framework 4 o .NET Framework 4.5.For more information, see Required Changes to Run Office Projects that You Migrate to the .NET Framework 4 or the .NET Framework 4.5.
Ya no se usa el ExcelLocale1033Attribute o se admite en proyectos de Excel.The ExcelLocale1033Attribute is no longer used or supported in Excel projects. Debe quitar este atributo del archivo de código AssemblyInfo de los proyectos de Excel.You must remove this attribute from the AssemblyInfo code file in Excel projects. Para obtener más información, consulte actualizar proyectos de Excel y Word para migrarlos a .NET Framework 4 o .NET Framework 4.5.For more information, see Updating Excel and Word Projects that You Migrate to the .NET Framework 4 or the .NET Framework 4.5.
El modelo de programación de elementos de proyecto de la Cinta (diseñador visual) ha cambiado.The programming model of Ribbon (Visual Designer) project items has changed. Debe modificar el archivo de código subyacente de los elementos de la cinta de opciones del proyecto.You must modify the code-behind file for any ribbon items in your project. También debe modificar cualquier código que cree instancias de controles de la cinta de opciones en tiempo de ejecución, controle eventos de la cinta de opciones o establezca la posición de un componente de la cinta de opciones mediante programación.You must also modify any code that instantiates ribbon controls at run time, handles ribbon events, or sets the position of a ribbon component programmatically. Para obtener más información, consulte actualizar las personalizaciones de la cinta de opciones en Office proyectos para migrarlos a .NET Framework 4 o .NET Framework 4.5.For more information, see Updating Ribbon Customizations in Office Projects that You Migrate to the .NET Framework 4 or the .NET Framework 4.5.
Ha cambiado el modelo de programación de las áreas de formulario de Outlook.The programming model of Outlook form regions has changed. Debe modificar el archivo de código subyacente de cualquier área de formulario del proyecto y de cualquier código que cree instancias de determinadas clases de área de formulario en tiempo de ejecución.You must modify the code-behind file for any form regions in your project and any code that instantiates certain form region classes at run time. Para obtener más información, consulte actualizar las áreas de formulario en Outlook proyectos para migrarlos a .NET Framework 4 o .NET Framework 4.5.For more information, see Updating Form Regions in Outlook Projects that You Migrate to the .NET Framework 4 or the .NET Framework 4.5.
Ha cambiado el modelo de programación de las etiquetas inteligentes en proyectos de Excel y Word.The programming model for smart tags in Excel and Word projects has changed. Las etiquetas inteligentes están desusadas en Excel 2010Excel 2010 y Word 2010Word 2010.Smart tags are deprecated in Excel 2010Excel 2010 and Word 2010Word 2010. Si la solución utiliza etiquetas inteligentes, se producirán errores al compilar el proyecto.If your solution uses smart tags, errors will occur when you build the project. Como las etiquetas inteligentes están desusadas en Excel 2010Excel 2010 y Word 2010Word 2010, tiene que quitarlas para probar y depurar la solución en Visual Studio 2013Visual Studio 2013 o versiones posteriores.Because smart tags are deprecated in Excel 2010Excel 2010 and Word 2010Word 2010, you must remove the tags before you can test and debug the solution in Visual Studio 2013Visual Studio 2013 or later.
Ha cambiado la sintaxis de los métodos HasVstoObject y GetVstoObjectThe syntax of the GetVstoObject and HasVstoObject methods has changed Debe pasar el objeto Globals.Factory a estos métodos cuando se accede a ellos en objetos nativos de los ensamblados de interoperabilidad primarios (PIA), o puede tener acceso a estos métodos en el objeto devuelto por la propiedad Globals.Factory en el proyecto.You must pass the Globals.Factory object to these methods when you access them on native objects from the primary interop assemblies (PIAs), or you can access these methods on the object that is returned by the Globals.Factory property in your project. Para obtener más información, consulte actualizar proyectos de Excel y Word para migrarlos a .NET Framework 4 o .NET Framework 4.5.For more information, see Updating Excel and Word Projects that You Migrate to the .NET Framework 4 or the .NET Framework 4.5.
Los eventos de controles de contenido de Word se asocian a nuevos delegados.The events of Word content controls are associated with new delegates. Tiene que modificar el código que controle eventos de controles de contenido de Word para especificar los nuevos delegados.You must modify any code that handles events of Word content controls to specify the new delegates. Para obtener más información, consulte actualizar proyectos de Excel y Word para migrarlos a .NET Framework 4 o .NET Framework 4.5.For more information, see Updating Excel and Word Projects that You Migrate to the .NET Framework 4 or the .NET Framework 4.5.
Las clases OLEObject y OLEControl han cambiado de nombre.The OLEObject and OLEControl classes have been renamed. Tiene que modificar cualquier código que use instancias de estas clases para utilizar los objetos ControlSite o ControlSite en su lugar.You must modify any code that uses instances of these classes to use ControlSite or ControlSite objects instead. Para obtener más información, consulte actualizar proyectos de Excel y Word para migrarlos a .NET Framework 4 o .NET Framework 4.5.For more information, see Updating Excel and Word Projects that You Migrate to the .NET Framework 4 or the .NET Framework 4.5.
Clases de elemento host como ThisWorkbook, Sheet n , ThisDocument, y ThisAddIn, dejará de proporcionar un método Dispose que se pueda reemplazar.Host item classes, such as ThisWorkbook, Sheetn, ThisDocument, and ThisAddIn, no longer provide a Dispose method that you can override. Debe migrar cualquier código en la invalidación del método Dispose en el controlador de eventos de apagado de la clase de elemento host, por ejemplo, ThisAddIn_Shutdowny quitar la invalidación del método Dispose de la clase de elemento host.You must move any code in the Dispose method override to the Shutdown event handler in the host item class, for example, ThisAddIn_Shutdown, and remove the Dispose method override from your host item class.

Vea tambiénSee Also

Migrating Office Solutions to the .NET Framework 4 or later Migrating Office Solutions to the .NET Framework 4 or later
Novedades en el desarrollo de Office What's New in Office Development
Información general sobre el motor en tiempo de ejecución de Visual Studio Tools para OfficeVisual Studio Tools for Office Runtime Overview