2010-12-30 3 views
2

안녕하세요. 환경 변수에 대한 액세스가 거부되면 조건을 테스트하기 위해 시나리오를 시뮬레이트하기 위해 EnvironmentPermission.Deny()를 사용하는 .Net 3.5의 TestMethod가 있습니다.EnvironmentPermission Deny는 .Net 4.0에서 더 이상 사용되지 않습니다.

Deny()는 .NET 4.0에서 사용되지 않으며 컴파일시 오류가 발생합니다.

.Net 4.0에서이 시나리오에 대한 테스트를 작성하려면 어떻게해야합니까?

+0

솔루션을 찾았습니까? 현재 .NET 4.0이 내 PermissionSet을 제대로 준수하지 않기 때문에 동일한 상황에 처해 있습니다. https://connect.microsoft.com/VisualStudio/feedback/details/693313/securitypermissionflag-skipverification-not-honored-in을 참조하십시오. -net-4-0 # details –

답변

2

저는 전문가가 아니지만 안내 할만한 리소스를 찾으려고 노력했습니다.

MSDN 설명서에 따르면 EnvironmentPermission.Deny()은 .NET 4.0에서 사용되지 않습니다. 권장 접근법은 코드에서 액세스 할 수 있거나 액세스 할 수없는 것을 제어하기 위해 어셈블리의 권한 집합을 설정하는 것입니다.

는 여기에 내가 아직 사용되지 않는 API를 사용하지만, 나는 (단지 해결책을 찾을 수도 있다고 생각

+0

포인터에 대한 Hey Jas의 감사는 분명히 그것들을 살펴보고 좋은 접근 방법이 무엇인지를 볼 것입니다. 어셈블리 권한을 변경하는 것과 관련하여 지금 당장은 같은 어셈블리에 + ve & -ve 테스트가 있습니다. 아마 그들을 나눌 필요가 있습니다. – Suhumar

1

을 (희망) 당신을 도울 몇 가지 링크입니다) :

다음을 추가하십시오. 당신의 app.config는 :

<?xml version="1.0"?> 
<configuration> 
    <runtime> 
    <NetFx40_LegacySecurityPolicy enabled="true"/> 
    </runtime> 
</configuration> 

이제 런타임 예외를 발생시키지 않고 Permission.Deny()를 호출 할 수 있어야합니다.

관련 문제