2011-01-23 3 views
0

응용 프로그램이 GAC에서 어셈블리에 대한 참조를 가진 어셈블리를로드하려고 시도하고 이러한 어셈블리를 컴퓨터에서 사용할 수없는 경우 어떻게됩니까?실제로 사용할 수없는 GAC 어셈블리를 예상하는 어셈블리를 동적으로로드합니까?

기본적으로 나는 참조 된 어셈블리가 최종 사용자 컴퓨터에서 사용 가능하다고 가정하기 위해 성공적으로 어셈블리를로드하는 데 의존하고 싶습니다. 나는 밀집되어 있는가?

답변

1

런타임에서 필요한 어셈블리를로드 할 수없는 경우 시작시 또는 동적으로 Assembly.Load()을 통해로드하려고하면 예외가 발생합니다. 따라서 예외가 없으면 클래스를 사용할 수 있다고 기대할 수 있습니다.

+0

'완전 독립'이란 의미는 Assembly.Load()를 통해로드하고 있음을 의미합니다. – NVM

+0

죄송합니다. 잘못된 단어를 선택했습니다. – Femaref

1

는 기본적으로 나는이 이런 식으로 뭔가에 의존 지불하지

성공 조립 로딩에 의존하고 싶다! 어쨌든, 귀하의 질문에 대답하기 위해, 당신은 예외를 받게됩니다. 예외가 throw되지 않으면 종속 어셈블리가로드 된 것입니다. 예외가 발생하면이 던져 지거나 거기에 없거나 다른 문제가 발생했습니다.

+0

"이 같은 것을 의지하지 마십시오!" 왜? – NVM

+0

나는 실패 사례에 대해 걱정하지 않는다. 그저 참조 할 수있는 모든 것을로드하는 경우에만 사용할 수있는 '보증'이 필요합니다. – NVM

+0

@NVM, 모든 항목이로드되면 참조하는 모든 항목을 사용할 수 있습니다. 로드되지 않으면 잘못된 것입니다! 나는 단지 당신의 질문에서 당신이 반드시 신뢰할만한 것이 아닌 것에 의지하기를 원한다는 것을 강조하고있었습니다. 그러나, 당신이 뭘 원하는지의 맥락에서 안전하게 무시할 수 있습니다 :) –