Diseñar y crear soluciones de OfficeDesign and create Office solutions

Visual Studio proporciona plantillas de proyecto que puede usar para crear varios tipos distintos de soluciones de Office.Visual Studio provides project templates that you can use to create several different types of Office solutions. En esta sección de la documentación se describen las plantillas de proyecto y se ofrecen instrucciones sobre cómo crear proyectos de Office.This section of the documentation describes the project templates and provides guidance about creating Office projects. Para obtener información sobre cómo implementar personalizaciones de la interfaz de usuario y código después de haber creado el proyecto, vea soluciones de desarrollo de Office.For information about how to implement code and user interface customizations after you have created your project, see Develop Office solutions.

Se aplica a: La información de este tema se aplica al documento-proyectos y agregar de VSTO de nivel-en los proyectos.Applies to: The information in this topic applies to document-level projects and VSTO Add-in projects. Consulte características disponibles por tipo de aplicación y el proyecto de Office.See Features available by Office application and project type.

Note

¿Está interesado en desarrollar soluciones que amplían la experiencia de Office a través de varias plataformas?Interested in developing solutions that extend the Office experience across multiple platforms? Visite el nuevo modelo de complementos de Office.Check out the new Office Add-ins model. Complementos de Office tienen una superficie pequeña en comparación con las soluciones y los complementos de VSTO, y puede crearlas con prácticamente cualquier tecnología, como HTML5, CSS3, JavaScript y XML de programación web.Office Add-ins have a small footprint compared to VSTO Add-ins and solutions, and you can build them by using almost any web programming technology, such as HTML5, JavaScript, CSS3, and XML.

Crear proyectos de OfficeCreate Office projects

Antes de empezar, debe determinar los requisitos y el tipo de solución que mejor se adapta a sus necesidades.Before you begin, you should determine your requirements and discover the type of solution that offers the best fit. Por ejemplo, si su solución de Office debe ejecutarse cada vez que se utiliza la aplicación, un complemento de VSTO será lo que mejor se adapte a sus requisitos.For example, if your Office solution must run every time the application is used, a VSTO Add-in best fits your requirements. Si el código está estrechamente integrado con un único documento, cree una personalización de nivel de documento.If the code is tightly integrated with a single document, create a document-level customization. Estos tipos de proyecto están disponibles como plantillas de proyecto de Visual Studio.These project types are available as Visual Studio project templates. Para obtener más información acerca de las plantillas de proyecto de Office que se incluyen con Visual Studio, consulte Introducción a las plantillas de proyecto de Office.For more information about the Office project templates that are included with Visual Studio, see Office project templates overview. Para obtener más información sobre cómo crear proyectos de Office, vea Cómo: Crear proyectos de Office en Visual Studio.For more information about how to create Office projects, see How to: Create Office projects in Visual Studio.

Los proyectos de Office tienen características y elementos de proyecto que difieren de otros tipos de proyectos de Visual Studio.Office projects have features and project items that are different from other types of projects in Visual Studio. Por ejemplo, cuando se crea un proyecto de nivel de documento, el documento o el libro del proyecto se puede abrir y editar en Visual Studio.For example, when you create a document-level project, the document or workbook in your project can be opened and edited inside Visual Studio. Para obtener más información, consulte proyectos de Office en el entorno de Visual Studio.For more information, see Office projects in the Visual Studio environment.

Elegir una versión de .NET FrameworkChoose a .NET Framework version

Después de seleccionar el tipo de proyecto que mejor se adapte a sus requisitos, puede elegir qué versión de .NET Framework se utilizará en el proceso de desarrollo.After selecting the project type that best fits your requirements, you can choose which version of the .NET Framework to use in your development process. Puede elegir como destino las siguientes versiones de .NET Framework en los proyectos de Office:You can target the following .NET Framework versions in Office projects:

  • .NET Framework 4.NET Framework 4

  • .NET Framework 4 Client Profile.NET Framework 4 Client Profile

  • .NET Framework 4.5.NET Framework 4.5

    Se requiere la versión de .NET Framework que elija para el proyecto en equipos de usuarios finales para ejecutar la solución.The .NET Framework version that you choose for your project is required on end-user computers for your solution to run. Por ejemplo, si el proyecto está destinado el .NET Framework 4.NET Framework 4, el .NET Framework 4.NET Framework 4 es necesario en equipos de usuario final.For example, if your project targets the .NET Framework 4.NET Framework 4, the .NET Framework 4.NET Framework 4 is required on end-user computers. En este ejemplo, la solución no se ejecutará si solo .NET Framework 3.5 está instalado en equipos de usuario final.In this example, your solution will not run if only the .NET Framework 3.5 is installed on end-user computers.

    Si migra un proyecto de complemento de VSTO que tiene como destino .NET Framework 3.5, Visual Studio cambia el marco de trabajo de destino del proyecto a .NET Framework 4.NET Framework 4 o a una versión posterior, según la versión de Office que haya instalado.If you migrate a VSTO Add-in project that targets the .NET Framework 3.5, Visual Studio changes the target framework of your project to .NET Framework 4.NET Framework 4 or later depending on the version of Office that you have installed.

    Sin embargo, una vez que Visual Studio cambie el marco de trabajo de destino, deberá modificar parte del código del proyecto si utiliza determinadas características.However, after Visual Studio changes the target framework, you might need to modify some of the code in your project if it uses certain features. Para obtener más información sobre cómo cambiar la plataforma de destino, vea Cómo: Usar una versión de .NET Framework como destino.For more information about how to change the target framework, see How to: Target a version of the .NET Framework. Para obtener más información acerca de los cambios que es posible que deba realizar en el proyecto, vea soluciones de Office de migrar a .NET Framework 4 o posterior.For more information about changes you might need to make in your project, see Migrate Office solutions to the .NET Framework 4 or later.

    Si Visual Studio cambia el destino es .NET Framework para el proyecto y usa ClickOnce para implementar la solución, asegúrese de que seleccione también la versión correspondiente de .NET Framework en el requisitos previos cuadro de diálogo.If Visual Studio changes the target .NET Framework for your project and you are using ClickOnce to deploy your solution, make sure that you also select the corresponding version of the .NET Framework in the Prerequisites dialog box. Esta selección no cambia automáticamente al cambiar la plataforma de destino del proyecto.This selection does not change automatically when you change the target framework for your project. Para obtener más información, vea Cómo: Instalar requisitos previos en equipos de usuarios finales para ejecutar soluciones de Office.For more information, see How to: Install prerequisites on end-user computers to run Office solutions.

Note

No podrá elegir como destino la versión .NET Framework 3.5 o alguna versión anterior en proyectos de Office que cree mediante Visual Studio 2013Visual Studio 2013.You cannot target the .NET Framework 3.5 or earlier in Office projects that you create by using Visual Studio 2013Visual Studio 2013. Los proyectos de Office que cree mediante Visual Studio 2013Visual Studio 2013 requieren características que se introdujeron por primera vez en .NET Framework 4 Client Profile.NET Framework 4 Client Profile.Office projects that you create by using Visual Studio 2013Visual Studio 2013 require features that were first introduced in the .NET Framework 4 Client Profile.NET Framework 4 Client Profile

Comprender cuándo se requieren los PIA de Office en equipos de usuario finalUnderstand when the Office PIAs are required on end-user computers

De forma predeterminada, los ensamblados de interoperabilidad primarios (PIA) de Office no es necesario para instalarse en equipos de usuario final si la Embed Interop Types propiedad de cada referencia de PIA de Office en el proyecto está establecida en True, que es el valor predeterminado.By default, Office primary interop assemblies (PIAs) do not need to be installed on end-user computers if the Embed Interop Types property of each Office PIA reference in the project is set to True, which is the default value. En este escenario, la información de tipo de los tipos de PIA que utiliza la solución se incrusta en el ensamblado de la solución al compilar el proyecto.In this scenario, the type information for the PIA types that are used by your solution is embedded into the solution assembly when you build the project. En tiempo de ejecución, la información de tipo incrustada se usa en lugar de los PIA para llamar al modelo de objetos basado en COM de la aplicación de Office.At run time, the embedded type information is used instead of the PIAs to call into the Office application's COM-based object model. Para obtener más información acerca de cómo se incrustan los tipos de PIA en la solución, vea equivalencia de tipos y tipos de interoperabilidad incrustados.For more information about how types from PIAs are embedded into your solution, see Type equivalence and embedded interop types.

Si el Embed Interop Types propiedad de cada referencia de PIA de Office en el proyecto está establecida en False, los PIA de Office debe estar instalados y registrados en la caché global de ensamblados en cada equipo del usuario final que ejecuta la solución.If the Embed Interop Types property of each Office PIA reference in the project is set to False, Office PIAs must be installed and registered in the global assembly cache on each end-user computer that runs the solution. En la mayoría de los casos, los PIA se instalan de forma predeterminada con Office, pero también puede incluir el redistribuible de PIA como un requisito previo para una solución.In most cases, the PIAs are installed by default with Office, but you can also include the PIA redistributable as a prerequisite for your solution. Para obtener más información, consulte requisitos previos de la solución de Office para implementación.For more information, see Office solution prerequisites for deployment.

Comprender el perfil de clienteUnderstand the client profile

.NET Framework Client Profile constituye un subconjunto de funcionalidades de la versión completa de .NET Framework.The .NET Framework Client Profile is a subset of the full .NET Framework. Puede elegir como destino .NET Framework Client Profile si solo necesita utilizar las características de cliente de .NET Framework y desea proporcionar la experiencia de implementación más rápida posible para una solución de Office.You can target the .NET Framework Client Profile if you need to use only the client features in the .NET Framework and you want to provide the fastest possible deployment experience for your Office solution. Para obtener más información, consulte perfil de cliente de .NET Framework.For more information, see .NET Framework client profile.

Cuando crea un proyecto de Office que tiene como destino .NET Framework 4.NET Framework 4, .NET Framework 4 Client Profile.NET Framework 4 Client Profile se establece como destino de forma predeterminada.When you create an Office project that targets the .NET Framework 4.NET Framework 4, the .NET Framework 4 Client Profile.NET Framework 4 Client Profile is targeted by default. Si desea desarrollar la solución para la versión completa de .NET Framework 4.NET Framework 4, debe establecer esta opción después de crear el proyecto.If you want to develop for the full .NET Framework 4.NET Framework 4, you must set this option after the project is created. Para obtener más información, vea Cómo: Usar una versión de .NET Framework como destino.For more information, see How to: Target a version of the .NET Framework.

Crear soluciones para la edición de 64 bits de Microsoft OfficeCreate solutions for the 64-bit edition of Microsoft Office

Microsoft Office está disponible en ediciones de 64 bits y 32 bits.Microsoft Office is available in 64-bit and 32-bit editions. Para crear soluciones de Office que se pueden ejecutar en ambas ediciones, la configuración de plataforma de destino para el proyecto debe establecerse en cualquier CPU.To create Office solutions that can run in either edition, the platform target setting for your project must be set to Any CPU. Este es el valor predeterminado para los proyectos de Office.This is the default value for Office projects. Para obtener más información, consulte soluciones de Office de compilación.For more information, see Build Office solutions.

Hay versiones independientes de 64 bits y 32 bits de Runtime de Microsoft Visual Studio Tools para OfficeVisual Studio Tools for Office runtime que utilizan las ediciones de 64 bits y 32 bits de Microsoft Office.There are separate 64-bit and 32-bit versions of the Runtime de Microsoft Visual Studio Tools para OfficeVisual Studio Tools for Office runtime that are used by the 64-bit and 32-bit editions of Microsoft Office. 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.

Ensamblados en soluciones de OfficeAssemblies in Office solutions

Al crear un proyecto de Office mediante las herramientas de desarrollo de Office en Visual Studio, el código que se escribe se compila finalmente en un ensamblado.When you create an Office project by using the Office development tools in Visual Studio, the code that you write is eventually compiled into an assembly. El ensamblado se implementa en un servidor compartido o en un directorio en el equipo cliente.The assembly is deployed to a shared server or to a directory on the client computer.

Los ensamblados de las soluciones de Office se cargan a través de una aplicación de Office.Assemblies in Office solutions are loaded by an Office application. Una vez cargado el ensamblado, el código del ensamblado puede responder a eventos que se produzcan en la aplicación, como, por ejemplo, cuando un usuario hace clic en un elemento de menú.After the assembly is loaded, code in the assembly can respond to events that are raised in the application, for example, when a user clicks a menu item. El código del ensamblado también puede realizar llamadas en el modelo de objetos para automatizar y extender la aplicación, y utilizar cualquiera de las clases en .NET Framework.NET Framework.Code in the assembly can also call into the object model to automate and extend the application, and it can use any of the classes in the .NET Framework.NET Framework. Para obtener más información, consulte arquitectura de las personalizaciones de nivel de documento y Architecture of VSTO Add-ins.For more information, see Architecture of document-level customizations and Architecture of VSTO Add-ins.

Las soluciones de Office usan manifiestos de implementación y de aplicación para identificar el ensamblado.Office solutions use deployment manifests and application manifests to identify the assembly. Los manifiestos contienen información sobre el nombre, la versión y la ubicación del ensamblado, para que la aplicación pueda buscar y ejecutar el ensamblado adecuado, y establecer vínculos con este.The manifests contain information about the assembly's name, version, and location, so that the application can find, link to, and run the correct assembly. Para obtener más información, consulte los manifiestos de aplicación e implementación de soluciones de Office.For more information, see Application and deployment manifests in Office solutions.

Los proyectos de nivel de documento incluyen un documento además de un ensamblado.Document-level projects include a document in addition to an assembly. El documento actúa como el front-end de la aplicación y es donde se realiza toda la interacción del usuario.The document acts as the front end of the application and is where all user interaction takes place. Cada documento solo puede tener un ensamblado de proyecto principal asociado a él. Sin embargo, varios documentos pueden apuntar al mismo ensamblado.Each document can have only one main project assembly associated with it; however, multiple documents can point to the same assembly.

Los ensamblados en los proyectos de nivel de documento no se incrustan en el documento, sino que se almacenan en otra ubicación y se identifican mediante el manifiesto de aplicación del documento.Assemblies in document-level projects are not embedded in the document; instead, they are stored elsewhere and are identified by the document's application manifest.

Consideraciones de seguridad para ensambladosSecurity considerations for assemblies

Para que una solución de Office se ejecute en un equipo y lo hagan también los ensamblados que esta usa, estos ensamblados deben ser de confianza.For an Office solution to run on a computer, the assemblies used by the solution must be trusted to run. Para obtener más información acerca de la seguridad, consulte soluciones de Office Secure.For more information about security, see Secure Office solutions.

De forma predeterminada, el ensamblado de la solución y los ensamblados a los que se hace referencia y que se encuentran en la carpeta de salida del proyecto son de confianza para ejecutarse en el equipo de desarrollo al compilar el proyecto.By default, the solution assembly and any referenced assemblies that are in your project's output folder are trusted to run on the development computer when you build the project. Para obtener más información, consulte soluciones de Office de compilación.For more information, see Build Office solutions.

Por motivos de seguridad, es mejor crear proyectos en el equipo local, en lugar de desarrollarlos en una ubicación compartida.For security reasons, it is best to create projects on your local computer, rather than developing on a shared location. Para obtener más información, consulte desarrollo en colaboración de las soluciones de Office.For more information, see Collaborative development of Office solutions.

Ensamblados a los que se hace referenciaReferenced assemblies

El ensamblado puede hacer referencia a otros ensamblados, que se enumeran en las referencias del proyecto.The assembly can reference other assemblies, which are listed in the project's references. Sin embargo, un ensamblado de proyecto de nivel de documento no puede hacer referencia a otro ensamblado de proyecto de nivel de documento.However, one document-level project assembly cannot reference another document-level project assembly.

Vea tambiénSee also