Proporcionar información de empaquetado e implementación en los elementos del proyectoProviding Packaging and Deployment Information in Project Items

Todos los elementos de proyecto de SharePoint en Visual StudioVisual Studio tienen propiedades que puede usar para proporcionar datos adicionales cuando el proyecto se implementa en SharePoint.All SharePoint project items in Visual StudioVisual Studio have properties that you can use to provide additional data when the project is deployed to SharePoint. Estas propiedades son las siguientes:These properties are as follows:

  • Propiedades de característicasFeature Properties

  • Receptores de característicasFeature Receivers

  • Referencias de salida del proyectoProject Output References

  • Entradas de controles segurosSafe Control Entries

    Estas propiedades aparecen en la propiedades ventana.These properties appear in the Properties window.

Propiedades de característicasFeature Properties

Use la Feature Properties propiedad para especificar los datos que utiliza la característica.Use the Feature Properties property to specify data that the feature uses. Datos de propiedades de características están un conjunto de valores (almacenados como pares clave-valor) que se incluye con una característica cuando se implementa en SharePoint.Feature properties data is a set of values (stored as key/value pairs) that is included with a feature when it deploys to SharePoint. Una vez implementada la característica, se puede obtener acceso a los valores de propiedad en el código.After the feature is deployed, you can access the property values in your code.

Cuando se agrega un valor de propiedad de característica a un elemento de proyecto, el valor se agrega como un elemento en el manifiesto de la característica del elemento.When you add a feature property value to a project item, the value is added as an element in the manifest of the item's feature. En un proyecto de modelo de conectividad de datos profesionales (BDC), por ejemplo, la propiedad de característica ModelFileName aparece como:In a Business Data Connectivity (BDC) model project, for example, the ModelFileName feature property appears as:

<Property Key="ModelFileName" Value="BdcModel1\BdcModel1.bdcm" />   

Después de establecer un valor de propiedad de la característica, se agrega como un FeatureProperty (elemento) en el archivo del proyecto .spdata.After you set a Feature Property value, it is added as a FeatureProperty element in the project's .spdata file. Para obtener información acerca del acceso a las propiedades de SharePoint, vea SPFeaturePropertyCollection Class.For information about accessing the properties in SharePoint, see SPFeaturePropertyCollection Class.

Los valores de propiedad de característica idénticos de todos los elementos de proyecto se combinan en el manifiesto de la característica.Identical feature property values from all project items are merged together in the feature manifest. Sin embargo, si dos elementos del proyecto especifican la misma clave de propiedad de característica con valores no coincidentes, se produce un error de validación.However, if two different project items specify the same feature property key with non-matching values, a validation error occurs.

Para agregar propiedades de característica directamente al archivo de características (* .feature), llame a la Visual StudioVisual Studio método del modelo de objetos de SharePoint Add.To add feature properties directly to the feature file (*.feature), call the Visual StudioVisual Studio SharePoint object model method Add. Si utiliza este método, tenga en cuenta que la misma regla acerca de cómo agregar valores de propiedad de característica idénticos en Feature Properties también se aplica a propiedades que se agregan directamente al archivo de características.If you use this method, be aware that the same rule about adding identical feature property values in Feature Properties also applies to properties added directly to the feature file.

Receptor de característicasFeature Receiver

Receptores de características son código que se ejecuta cuando se producen determinados eventos con un elemento de proyecto que contiene la característica.Feature receivers are code that executes when certain events occur to a project item's containing feature. Por ejemplo, puede definir receptores de características que se ejecutan cuando se instala, se activa o se actualiza la característica.For example, you can define feature receivers that execute when the feature is installed, activated, or upgraded. Una manera de agregar un receptor de características consiste en agregar directamente a una característica como se describe en Tutorial: Agregar receptores de eventos de características.One way to add a feature receiver is to add it directly to a feature as described in Walkthrough: Add Feature Event Receivers. Otra forma consiste en hacer referencia a un nombre de clase de receptor de características y el ensamblado en el receptor de características propiedad.Another way is to reference a feature receiver class name and assembly in the Feature Receiver property.

Método directoDirect Method

Al agregar un receptor de características a una característica directamente, se coloca un archivo de código en el característica nodo en el Explorador de soluciones.When you add a feature receiver to a feature directly, a code file is placed under the Feature node in Solution Explorer. Al compilar la solución de SharePoint, el código se compila en un ensamblado e implementa en SharePoint.When you build your SharePoint solution, the code compiles into an assembly and deploys to SharePoint. De forma predeterminada, las propiedades de características ensamblado del receptor y clase del receptor de hacer referencia al nombre de clase y el ensamblado.By default, the feature properties Receiver Assembly and Receiver Class reference the class name and assembly.

Reference (método)Reference Method

Otra manera de agregar un receptor de características es mediante el uso de la receptor de características propiedad de un elemento de proyecto para hacer referencia a un ensamblado del receptor de características.Another way to add a feature receiver is by using the Feature Receiver property of a project item to reference a feature receiver assembly. El valor de propiedad de receptor de características tiene dos subpropiedades: ensamblado y nombre de la clase.The Feature Receiver property value has two subproperties: Assembly and Class Name. El ensamblado debe usar su completo, el nombre "seguro" y el nombre de clase deben ser el nombre de tipo completo.The assembly must use its fully-qualified, "strong" name and the class name must be the full type name. Para más información, vea Ensamblados con nombre seguro.For more information, see Strong-Named Assemblies. Después de implementar la solución en SharePoint, la característica usa el receptor de características que se hace referencia para controlar los eventos de característica.After deploying the solution to SharePoint, the feature uses the referenced feature receiver to handle feature events.

En tiempo de compilación de soluciones, los valores de propiedad de receptor de características en la característica y sus proyectos combinan juntas para establecer los atributos ReceiverAssembly y ReceiverClass del elemento de característica en el manifiesto de la característica del archivo de solución (.wsp) de SharePoint.At solution build time, the feature receiver property values in the feature and its projects merge together to set the ReceiverAssembly and ReceiverClass attributes of the Feature element in the feature manifest of the SharePoint solution (.wsp) file. Por lo tanto, si se especifican los valores de propiedad de ensamblado y el nombre de clase de un elemento de proyecto y una característica, deben coincidir los valores de propiedad de característica y elemento de proyecto.Therefore, if the Assembly and Class Name property values of a project item and a feature are both specified, the project item and feature property values must match. Si los valores no coinciden, recibirá un error de validación.If the values do not match, you will receive a validation error. Si desea que un elemento de proyecto para hacer referencia a un ensamblado del receptor de características distinto del que utiliza la característica, muévalo a otra característica.If you want a project item to reference a feature receiver assembly other than the one its feature uses, move it to another feature.

Si hace referencia a un ensamblado del receptor de características que ya no está en el servidor, también debe incluir el propio archivo de ensamblado en el paquete; Visual StudioVisual Studio no lo agrega automáticamente.If you reference a feature receiver assembly that is not already on the server, you must also include the assembly file itself in the package; Visual StudioVisual Studio does not add it for you. Cuando se implementa la característica, se copia el archivo de ensamblado para que el sistema caché global de ensamblados (GAC)global assembly cache (GAC) o la carpeta Bin en el directorio físico de SharePoint.When you deploy the feature, the assembly file is copied to either the system's caché global de ensamblados (GAC)global assembly cache (GAC) or the Bin folder in the SharePoint physical directory. Para obtener más información, vea Cómo: Cómo: agregar y quitar ensamblados adicionales.For more information, see how to: How to: Add and Remove Additional Assemblies.

Para obtener más información acerca de los receptores de características, vea receptor de eventos de características y eventos de la función.For more information about feature receivers, see Feature Event Receiver and Feature Events.

Referencias de salida del proyectoProject Output References

La propiedad Project Output References especifica una dependencia, como un ensamblado, que el elemento de proyecto necesita ejecutar.The Project Output References property specifies a dependency, such as an assembly, that your project item needs to run. Por ejemplo, suponga que su solución tiene un proyecto BDC y un proyecto de clase.For example, suppose your solution has a BDC project and a class project. Si el proyecto BDC tiene una dependencia en el ensamblado que se genera el proyecto de clase, puede hacer referencia al ensamblado en la propiedad de referencias de salida del proyecto del proyecto BDC.If the BDC project has a dependency on the assembly that is output by the class project, you can reference the assembly in the BDC project's Project Output References property. Cuando se empaqueta el proyecto de BDC, el ensamblado dependiente se incluye en el paquete.When the BDC project is packaged, the dependent assembly is included in the package.

Referencias de salida del proyecto normalmente son ensamblados, pero en algunos casos (por ejemplo, proyectos de Silverlight) pueden ser otros tipos de archivo.Project output references are usually assemblies, but in some cases (such as Silverlight projects) can be other file types.

Para obtener más información, consulte Cómo: agregar una referencia de salida del proyecto.For more information, see How to: Add a Project Output Reference.

Entradas de controles segurosSafe Control Entries

SharePoint proporciona un mecanismo de seguridad denominado entradas de controles seguros, para limitar el acceso de usuarios de confianza a ciertos controles.SharePoint provides a security mechanism, called safe control entries, to limit the access of untrusted users to certain controls. De forma predeterminada, SharePoint permite a los usuarios que no se confía cargar y crear páginas ASPX en el servidor de SharePoint.By design, SharePoint allows untrusted users to upload and create ASPX pages on the SharePoint server. Para impedir que estos usuarios agreguen código no seguro a las páginas ASPX, SharePoint limita su acceso a controles seguros.To prevent these users from adding unsafe code to ASPX pages, SharePoint limits their access to safe controls. Controles seguros son elementos Web designados como seguros y controles ASPX y que se puede utilizar cualquier usuario de su sitio.Safe controls are ASPX controls and Web parts designated as secure and that can be used by any user on your site. Para obtener más información, consulte paso 4: agregar el elemento Web a la lista de controles seguros.For more information, see Step 4: Add your Web Part to the Safe Controls List.

Cada elemento de proyecto de SharePoint en Visual StudioVisual Studio tiene una propiedad denominada entradas de controles seguros que tiene dos subpropiedades booleanas: seguro y Safe Against Script.Every SharePoint project item in Visual StudioVisual Studio has a property called Safe Control Entries that has two Boolean subproperties: Safe and Safe Against Script. La propiedad Safe especifica si los usuarios de confianza pueden tener acceso a un control.The Safe property specifies whether untrusted users can access a control. La propiedad Safe Against Script especifica si los usuarios de confianza pueden ver y cambiar las propiedades de un control.The Safe Against Script property specifies whether untrusted users can view and change a control's properties.

Entradas de controles seguros se hace referencia por un ensamblado.Safe control entries are referenced on an assembly basis. Agregar entradas de controles seguros a un ensamblado del proyecto especificándolas en el elemento de proyecto entradas de controles seguros propiedad.You add safe control entries to a project's assembly by entering them in the project item's Safe Control Entries property. Sin embargo, también puede agregar entradas de controles seguros al ensamblado del proyecto a través de la avanzadas pestaña en el Diseñador de paquetes cuando se agrega un ensamblado adicional al paquete.However, you can also add safe control entries to a project's assembly through the Advanced tab in the Package Designer when you add an additional assembly to the package. Para obtener más información, consulte Cómo: marcar los controles como controles seguros o registrar un ensamblado de elemento Web como un Control seguro.For more information, see How to: Mark Controls as Safe Controls or Registering a Web Part Assembly as a Safe Control.

Entradas XML para controles segurosXML Entries for Safe Controls

Cuando se agrega una entrada de control seguro a un elemento de proyecto o al ensamblado del proyecto, se escribe una referencia en el manifiesto del paquete en el formato siguiente:When you add a safe control entry to a project item or to the project's assembly, a reference is written to the package manifest in the following format:

<Assemblies>  
    <Assembly Location="<assembly name>.dll"     
      DeploymentTarget="<'GlobalAssemblyCache' or 'WebApplication'">>  
        <SafeControls>  
            <SafeControl Assembly="<assembly name>.dll" Namespace=  
              "<SharePoint project name>" Safe="<true/false>"     
                TypeName="<control name>"   
                SafeAgainstScript="<true/false>" />  
        </SafeControls>  
    </Assembly>  
</Assemblies>  

Vea tambiénSee Also

Empaquetar e implementar soluciones de SharePoint Packaging and Deploying SharePoint Solutions
Utilizar módulos para incluir archivos en la solución Using Modules to Include Files in the Solution
Extender el empaquetado y la implementación de SharePointExtending SharePoint Packaging and Deployment