네트워크 공유에서 "부분적으로 신뢰할 수 있는" .NET 어셈블리 실행

StackOverflow https://stackoverflow.com/questions/24468

  •  09-06-2019
  •  | 
  •  

문제

.NET 어셈블리를 실행하려고 하면(boo.exe) 네트워크 공유(드라이브에 매핑됨)에서 부분적으로만 신뢰할 수 있으므로 실패합니다.

Unhandled Exception: System.Security.SecurityException: That assembly does not allow partially trusted callers.
   at System.Security.CodeAccessSecurityEngine.ThrowSecurityException(Assembly asm, PermissionSet granted, PermissionSet refused, RuntimeMethodHandle rmh, SecurityAction action, Object demand, IPermission permThatFailed)
   at BooCommandLine..ctor()
   at Program..ctor()
   at ProgramModule.Main(String[] argv)
The action that failed was:
LinkDemand
The assembly or AppDomain that failed was:
boo, Version=0.0.0.0, Culture=neutral, PublicKeyToken=32c39770e9a21a67
The Zone of the assembly that failed was:
Intranet
The Url of the assembly that failed was:
file:///H:/boo-svn/bin/boo.exe

의 지시에 따라 블로그 게시물, 모든 어셈블리를 완전히 신뢰하는 정책을 .NET 구성에 추가했습니다. file:///H:/* URL로 사용하세요.URL을 입력하여 확인했습니다. file:///H:/boo-svn/bin/boo.exe조립 평가 .NET 구성 도구를 실행하고 boo.exe에 무제한 권한(정책 이전에는 없었음).

허가를 받았음에도 불구하고, boo.exe 실행되지 않습니다.여전히 같은 오류 메시지가 나타납니다.

이 문제를 디버깅하려면 어떻게 해야 합니까?실행하려는 모든 어셈블리에 대해 무언가를 변경하지 않고도 네트워크 공유에서 "부분적으로 신뢰할 수 있는" 어셈블리를 실행할 수 있는 다른 방법이 있습니까?

도움이 되었습니까?

해결책

.NET 3.5 SP1을 사용하면 UNC 공유에서 실행되는 .NET 어셈블리에 모든 권한이 부여됩니다.

브래드 에이브럼스(Brad Abrams)의 글 보기 .exe가 네트워크 공유에서 실행되도록 허용 해결 방법 및 토론, 그리고 마지막으로 후속 조치 .NET 3.5 SP1을 사용하면 네트워크 공유에서 관리 코드를 시작할 수 있습니다..

다른 팁

나는 다음을 사용하여 문제를 해결했습니다. caspol Johnny Hughes의 블로그 게시물에 지시된 대로 네트워크 공유에서 .Net 애플리케이션 실행:

caspol -addgroup 1.2 -url file:///H:/* FullTrust

정책 관리를 위한 .NET 구성 GUI가 작동하지 않는 것 같습니다.

.NET 런타임과 함께 제공되는 'caspol.exe' 프로그램을 살펴보세요.애플리케이션을 실행하려는 컴퓨터에서 이 작업을 수행해야 합니다.나는 '표시'와 조립을 할 수 없었습니다(아마 나만 그랬을 것입니다).그러나 caspol을 사용하고 내 앱인 LocalIntranet_Zone에 대한 적절한 권한을 설정하면 비슷한 문제가 해결됩니다.

.NET 3.5 sp1에서는 이러한 엄격한 보안 요구 사항이 제거되었다고 들었습니다(아직 시도하지는 않았습니다). 기본적으로 .NET 어셈블리가 공유에 상주하는 것을 허용하지 않습니다.

내 생각에는 당신이 부분적으로 신뢰할 수 있는 발신자 허용 귀하의 어셈블리에 속합니다.오류 메시지는 boo.exe 어셈블리를 호출하는 항목이 완전히 신뢰할 수 없으며 boo.exe에 이를 허용하는 속성이 없음을 의미합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top