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.

Entender el diseño basado en la interfaz de Visual Studio 2010 Tools para Office runtimeUnderstand the interface-based design of the Visual Studio 2010 Tools for Office runtime

Al desarrollar un proyecto de Office destinado a la .NET Framework 4.NET Framework 4 o una versión posterior, la mayoría de los tipos que utilizan en Visual Studio 2010 Tools para Office runtime es 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, consulte Visual Studio Tools para Office runtime overview.For more information, see Visual Studio Tools for Office runtime overview.

En los tipos cuya instancia se podía crear directamente en las versiones anteriores del 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.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 implemente la interfaz SmartTag, utilice 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 la interfaz de Visual Studio 2010 Tools para Office runtime afecta a las clases generadas en proyectos de Office, como ThisDocument, ThisWorkbook, y 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 derivan de clases del 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, consulte complementos programa y programar personalizaciones de nivel de documento.For more information, see Program VSTO Add-ins and Program 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 acerca de los ensamblados de utilidades, vea ensamblados en Visual Studio Tools para 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. Para obtener más información, consulte soluciones de Office de migrar a .NET Framework 4 o posterior.For further details, see Migrate 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 los cambios requeridos para ejecutar 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.
El ExcelLocale1033Attribute ya no se usa o se admite en proyectos de Excel.The ExcelLocale1033Attribute is no longer used or supported in Excel projects. Debe quitar este atributo desde el AssemblyInfo archivo de código en proyectos de Excel.You must remove this attribute from the AssemblyInfo code file in Excel projects. Para obtener más información, consulte proyectos de actualización de Excel y Word para migrarlos a .NET Framework 4 o .NET Framework 4.5.For more information, see Update 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 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 runtime, handles ribbon events, or sets the position of a ribbon component programmatically. Para obtener más información, consulte las personalizaciones de la cinta de opciones de actualización en los proyectos de Office migrados a .NET Framework 4 o .NET Framework 4.5.For more information, see Update 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 en el proyecto y 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 runtime. Para obtener más información, consulte actualizar áreas de formulario en los proyectos de Outlook migrados a .NET Framework 4 o .NET Framework 4.5.For more information, see Update 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 GetVstoObject y HasVstoObject.The syntax of the GetVstoObject and HasVstoObject methods has changed Tiene que pasar el objeto Globals.Factory a estos métodos cuando obtenga acceso a ellos en objetos nativos desde los ensamblados de interoperabilidad primarios (PIA) o puede obtener 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 proyectos de actualización de Excel y Word para migrarlos a .NET Framework 4 o .NET Framework 4.5.For more information, see Update 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 proyectos de actualización de Excel y Word para migrarlos a .NET Framework 4 o .NET Framework 4.5.For more information, see Update Excel and Word projects that you migrate to the .NET Framework 4 or the .NET Framework 4.5.
Se ha cambiado el nombre de las clases OLEObject y OLEControl.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 proyectos de actualización de Excel y Word para migrarlos a .NET Framework 4 o .NET Framework 4.5.For more information, see Update 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 Dispose método que se pueda reemplazar.Host item classes, such as ThisWorkbook, Sheetn, ThisDocument, and ThisAddIn, no longer provide a Dispose method that you can override. Tiene que migrar cualquier código del reemplazo del método Dispose al controlador de eventos Shutdown de la clase de elemento host, por ejemplo, ThisAddIn_Shutdown, y quitar el reemplazo 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

Migrar soluciones de Office para .NET Framework 4 o posterior Migrate Office solutions to the .NET Framework 4 or later
Novedades en el desarrollo de Office What's new in Office development
Visual Studio Tools para Office runtime overviewVisual Studio Tools for Office runtime overview