我在ASP.Net应用程序中遇到此错误:
" 尝试使用安全透明方法 Field.set_FieldType(Constants.DataTypeEnum)
来访问安全关键类型 Constants.DataTypeEnum
失败。 "
安全关键类型DataTypeEnum
是程序集中具有AllowPartiallyTrustedCallers
属性的公共枚举类型。 (DataTypeEnum
也在任何类或模块之外声明。它没有SecurityCritical
属性。
因此默认情况下不应该是SecurityTransparent
吗?
有谁知道为什么SecurityCritical
?
更新
我正在尝试在沙箱/远程应用程序域中动态加载和运行代码。
我现在没有收到错误。尝试了很多事情。尝试将枚举放入模块中。有一次我得到了错误," 找到的程序集的清单定义与程序集引用"不匹配,Constants
程序集是沙箱代码使用的。我杀死了ASP.Net进程并删除了' Windows \ Microsoft.NET \ Framework \ Temporary ASP.Net Files '中的app子目录。现在它正在发挥作用。
如果我在模块外面声明枚举,我现在会收到错误" 无法加载类型' Constants.ReportType'从汇编... "。如果我将它们放回模块中,它可以工作,但我不相信这是原始错误的原因。