如何:使用 XML 文件导入代码组

更新:2007 年 11 月

应用程序可能要求向安全策略中添加应用程序特定的代码组。应用程序可能随附了实现新代码组的程序集和包含新代码组序列化的 XML 文件。可以使用 .NET Framework 配置工具 (Mscorcfg.msc) 将 XML 文件导入到安全策略中。XML 文件可能还包含有关与代码组关联的成员条件和权限集的信息。通常,应用程序满足指定的成员条件并需要关联的权限集。

下面的示例显示代码组及其关联的成员条件和权限集的信息可能在 XML 文件中出现的方式。

示例

<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>

<CodeGroup> 元素包含新代码组的信息。<CodeGroup> 元素需要 classversion 属性。class 属性指向实现新代码组的类和程序集。class 属性值的格式可以是指定完全限定的类型名称中论述的任何一种格式,但通常的格式是本示例中显示的格式。对于此版本的 .NET Framework,version 属性为“1”。NameDescription 属性可以是任何有效的字符串,并且可以编辑。Name 属性是权限集在 .NET Framework 配置工具中出现的名称。

<IMembershipCondition> 元素包含属性或子元素,用以指定程序集为成为代码组的成员并接收其关联的权限而必须满足的条件。<IMembershipCondition>class 属性与 <CodeGroup>class 属性具有相同的格式。

如果 <CodeGroup> 元素包含 <IMembershipCondition> 元素和 <PermissionSet> 元素,在导入代码组后,成员条件和权限集将自动与该代码组建立关联。如果缺少这两种元素中的任何一个,必须使用 .NET Framework 配置工具 (Mscorcfg.msc) 将缺少的项与新代码组关联。有关详细信息,请参见使用 .NET Framework 配置工具配置代码组

请参见

其他资源

安全策略管理

使用 XML 文件导入安全组件