어셈블리가 개인인지 공개인지 아는 방법
-
23-08-2019 - |
문제
어셈블리가 있습니다 (DLL입니다) 개인인지 공개인지 알고 싶습니다. 어떻게 할 수 있습니까? 그렇게하는 프로그램이 있습니까? 아니면 Visual Studio가 당신에게 말할 수 있습니까? 감사
해결책
나는 당신이 언급하고 있다고 가정합니다 분리 된 응용 프로그램 개념 개인 어셈블리. 이 경우 어셈블리는 매니페스트 (본질적으로 버전을 표시)가 필요하며 일부 로컬 폴더 또는 나란히 캐시 (SXS 폴더)에있을 수 있습니다. 매니페스트를 감지하는 것은 DLL이 비공개라는 합리적인 표시 일 것입니다 (이것은 100% 테스트는 아니지만 필요에 충분할 수 있다고 생각합니다)
개인 어셈블리의 개념은 단순히 응용 프로그램의 일부 임의의 폴더에 DLL을 배치한다는 의미에서 .NET과 관련이 없습니다. 개인 빈 경로 충분합니다.이 맥락에서 어셈블리에 대해 특별한 것은 없습니다.
관리되지 않은 DLL에 대한 SXS 캐시와 대략 유사하게 말하면 GAC의 개념이 있습니다. 거기에있는 모든 어셈블리가 더있을 것입니다 용이하게 액세스 가능하지만 수업, 방법에 적용 가능한 공개/개인 개념은 회원이 어셈블리에 적용 할 수 없습니다.
마지막 메모로 당신은 (내가 당신을 믿지 않지만)친구'조립 개념. 이것은 그것을 통해 할 수 있습니다 InternalSvisibleto 조립 수준 또는이를 통해 속성 StrongNameIdentityPermission 유형 수준에서.
제휴하지 않습니다 StackOverflow