문제

어셈블리가 있습니다 (DLL입니다) 개인인지 공개인지 알고 싶습니다. 어떻게 할 수 있습니까? 그렇게하는 프로그램이 있습니까? 아니면 Visual Studio가 당신에게 말할 수 있습니까? 감사

도움이 되었습니까?

해결책

나는 당신이 언급하고 있다고 가정합니다 분리 된 응용 프로그램 개념 개인 어셈블리. 이 경우 어셈블리는 매니페스트 (본질적으로 버전을 표시)가 필요하며 일부 로컬 폴더 또는 나란히 캐시 (SXS 폴더)에있을 수 있습니다. 매니페스트를 감지하는 것은 DLL이 비공개라는 합리적인 표시 일 것입니다 (이것은 100% 테스트는 아니지만 필요에 충분할 수 있다고 생각합니다)

개인 어셈블리의 개념은 단순히 응용 프로그램의 일부 임의의 폴더에 DLL을 배치한다는 의미에서 .NET과 관련이 없습니다. 개인 빈 경로 충분합니다.이 맥락에서 어셈블리에 대해 특별한 것은 없습니다.

관리되지 않은 DLL에 대한 SXS 캐시와 대략 유사하게 말하면 GAC의 개념이 있습니다. 거기에있는 모든 어셈블리가 더있을 것입니다 용이하게 액세스 가능하지만 수업, 방법에 적용 가능한 공개/개인 개념은 회원이 어셈블리에 적용 할 수 없습니다.

마지막 메모로 당신은 (내가 당신을 믿지 않지만)친구'조립 개념. 이것은 그것을 통해 할 수 있습니다 InternalSvisibleto 조립 수준 또는이를 통해 속성 StrongNameIdentityPermission 유형 수준에서.

다른 팁

불행히도 나는 거기에 있다고 생각하지 않습니다 좋은 이것을 알아내는 방법. 내가 아는 가장 좋은 방법은 사용하는 것입니다 반사기 어셈블리의 디 컴파일 버전을 보려면.

도움이되기를 바랍니다. 이안

어셈블리가 개인 또는 공개라는 것은 무엇을 의미합니까? 아마도 기능이 사적이거나 공개적이라는 것을 의미할까요?

그러나 나는 당신이 시도 할 수 있다고 생각합니다 반사기.

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