我正在使用框架 2.0 中的 CAS(我知道它已经过时了)。
我有以下代码,我正在努力崩溃。我在 2.0 框架中编译了项目:
using System;
using System.Security;
using System.Security.Permissions;
namespace Authenticode
{
class Program
{
public static void DoSthmUnmanaged()
{
SecurityPermission perm = new SecurityPermission(SecurityPermissionFlag.UnmanagedCode);
perm.Demand();
}
public static void Main(string[] args)
{
Program.DoSthmUnmanaged();
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}
我将exe
文件复制到网络驱动器,然后打开“mscorcfg.msc”并从网络驱动器评估程序集 - 代码组Machine\All_Code\LocalIntranet_Zone
是预期的。当我从网络执行它时,一切正常,但我不明白!
它应该抛出异常,因为来自 LocalIntranet 的代码没有运行非托管代码的权限。为什么它有效?