유틸리티는 .Net 2.0의 SDK에 속합니다. 설치되어 있는지 확인하십시오.
또한 .Net 3.5 sp1 이상에서 CAS를 사용하여 몇 가지 문제점을 해결할 수 있습니다.
static void SetPermission(string target) {
try {
// Find the machine policy level
PolicyLevel machinePolicyLevel = null;
System.Collections.IEnumerator policyHierarchy = SecurityManager.PolicyHierarchy();
while (policyHierarchy.MoveNext()) {
PolicyLevel level = (PolicyLevel)policyHierarchy.Current;
if (level.Label == "Machine") {
machinePolicyLevel = level;
break;
}
}
if (machinePolicyLevel == null) {
throw new ApplicationException(
"Could not find Machine Policy level. Code Access Security " +
"is not configured for this application."
);
}
// Create a new FullTrust permission set
PermissionSet permissionSet = new NamedPermissionSet("FullTrust");
IMembershipCondition membershipCondition = new UrlMembershipCondition(target);
// Create the code group
PolicyStatement policyStatement = new PolicyStatement(permissionSet);
CodeGroup codeGroup = new UnionCodeGroup(membershipCondition, policyStatement);
codeGroup.Description = "Custom code group created by PermSet utility.";
codeGroup.Name = "CustomCodeGroup-" + Guid.NewGuid().ToString();
// Add the code group
machinePolicyLevel.RootCodeGroup.AddChild(codeGroup);
// Save changes
SecurityManager.SavePolicy();
}
catch (Exception ex) {
Console.WriteLine();
Console.WriteLine(ex.ToString());
throw;
}
}
감사합니다. 작동합니다! 이 도구는 "Mscorcfg.msc"이며 SDK와 함께 설치되었습니다 (하이퍼 링크의 경우 tx). C : \ Program Files \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ Bin 어쨌든 복잡하기는하지만 모든 설정을 다시 설정하고 필요한 경우 만 설정하면 PolicyException이 사라집니다. 새로운. – tantran