Cómo: Importar un grupo de código mediante un archivo XML
Actualización: noviembre 2007
Es posible que una aplicación requiera que se agregue un grupo de código específico de la aplicación a la directiva de seguridad. La aplicación puede incluir un ensamblado que implementa el nuevo grupo de código y un archivo XML que contiene una serialización del nuevo grupo de código. El archivo XML se puede importar a la directiva de seguridad mediante la herramienta Configuración de .NET Framework (Mscorcfg.msc). También es posible que el archivo XML contenga información sobre la condición de pertenencia y el conjunto de permisos asociados al grupo de código. Normalmente, la aplicación satisface la condición de pertenencia especificada y necesita el conjunto de permisos asociado.
En el ejemplo siguiente, se muestra cómo pueden aparecer en un archivo XML la información de un grupo de código y la condición de pertenencia y el conjunto de permisos asociados.
Ejemplo
<CodeGroup class="System.Security.Policy.UnionCodeGroup, mscorlib,
Version=1.0.2411.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" version="1"
Name="myCodeGroup"
Description="test code group">
<IMembershipCondition class="MyCustomMembershipCondition, myAssembly,
Version=1.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" version="1"
Url="https://www.microsoft.com/"/>
<PermissionSet class="NamedPermissionSet" version="1"
Name="MyPermissionSet"
Description="Permission set containing my custom permission">
<IPermission class="myCustomNamespace.CustomPermission,
customPerm, Version=0.0.0.0, Culture=neutral,
PublicKeyToken=64a85a7d791b1a32" version="1"
Unrestricted="True"/>
</PermissionSet>
</CodeGroup>
El elemento <CodeGroup> contiene información para un nuevo grupo de código. Los atributos class y version son obligatorios para el elemento <CodeGroup>. El atributo class apunta a la clase y al ensamblado que implementa el nuevo grupo de código. El valor del atributo class puede tener cualquiera de los formatos descritos en Especificar nombres de tipo completos, pero lo más probable es que aparezca en el formato que se muestra en el ejemplo. Para esta versión de .NET Framework, el atributo version es "1". Los atributos Name y Description pueden ser cualquier cadena válida, y se pueden editar. El atributo Name es el nombre del conjunto de permisos tal como aparece en la herramienta Configuración de .NET Framework.
El elemento <IMembershipCondition> contiene atributos o elementos secundarios que especifican la condición que deben satisfacer los ensamblados para ser miembros del grupo de código y recibir los permisos asociados. El atributo class de <IMembershipCondition> se encuentra en el mismo formato que el atributo class de <CodeGroup>.
Si un elemento <CodeGroup> contiene un elemento <IMembershipCondition> y un elemento <PermissionSet>,, la condición de pertenencia y el conjunto de permisos se asocian automáticamente al grupo de código cuando éste se importa. Si no se encuentra alguno de estos elementos, es necesario utilizar la herramienta Configuración de .NET Framework (Mscorcfg.msc) para asociarlo al nuevo grupo de código. Para obtener información detallada, vea Configurar grupos de código mediante la herramienta Configuración de .NET Framework.