JScript 8.0
JS5045:JScript 不支持声明性安全属性

CodeAccessSecurityAttribute 继承的自定义属性应用于方法、类或程序集的定义。这是不允许的。必须使用动态安全(而非声明性安全属性)控制对部分代码的访问。

Note注意

只有早期绑定代码可在 .NET Framework 内部调用 AssertDenyPermitOnly 安全性方法。这意味着必须使用类型批注变量来存储权限对象,这是由于类型批注允许编译器生成早期绑定代码。而且,在运行时(使用 eval 方法或通过 new 运算符创建的 Function 对象)生成的代码是后期绑定代码,这将阻止它调用 AssertDenyPermitOnly 方法。

在下面的示例中,动态安全用于拒绝通过方法访问特定文件。

import System;
import System.IO;
import System.Security;
import System.Security.Permissions;
class Alpha{
   function Bravo() {
      var fileioperm : FileIOPermission;
      fileioperm = new FileIOPermission(FileIOPermissionAccess.AllAccess, 'd:\\temp\\myfile.txt');
      fileioperm.Deny();
      // Any additional code in this method will be
      // denied access to d:\temp\myfile.txt.
   }
}

更正此错误

  • 使用动态安全(而非声明性安全)声明安全方法或程序集。

请参见