フレームワーク 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 のコードにはアンマネージ コードを実行する権限がないため、例外がスローされるはずです。なぜそれが機能するのですか?