2013-04-05 2 views
4

나는 비주얼 스튜디오 2010에서 여러 프로젝트로 구성된 솔루션을 구축하기 위해 노력하고있어,하지만 난 그것을 컴파일 할 때 프로젝트 중 하나가 나에게 이상한 오류를주고있다 : 첫째 그래도 난 내가 할 필요가에서stdole.dll이 이미 다른 위치에서로드 되었습니까?

Cannot load referenced assembly: C:\Windows\assembly\GAC\stdole\7.0.3300.0_b03f5f711d50a3a\stdole.dll 
System.IO.FileLoadException - API restriction: The assembly 'file:\\\<same as above>' has already loaded from a different location. It cannot be loaded from a new location within the same appdomain. 

을 이 stdole.dll 참조를 제거하여 삭제했습니다. 그러나, 그것은을 삭제 한 후, 내가 대신 다음과 같은 오류가 발생합니다 :

형식 또는 네임 스페이스 'stdole이'을 (를) 찾을 수 없습니다 (? 당신이 지시문 또는 어셈블리 참조를 사용하여 누락)

참조를 다시 추가하면 첫 번째 오류가 다시 발생합니다.

나는 왜 내가 마지막 오류를 얻었는지 이해하지만 나는 왜 처음을 얻고 있는지 이해하지 못한다. 저는 .NET에서 상당히 새롭고 C#에 대한 경험이있는 현재 회사에 남은 유일한 사람입니다. 즉, 아무도 나를 도울 수있는 사람이 없다는 것을 의미합니다. 또한 온라인 솔루션을 찾는 데 시간을 할애했지만 경험 부족으로 이해할 수있는 대답을 찾지 못했습니다.

위의 사항에 대한 도움을 주시면 대단히 감사하겠습니다.

+0

이전에로드 된 stdole을 참조하는 다른 구성 요소를 참조하고 stdole을 로컬로 복사하는 동안 시스템 버전을 사용합니까? 당신은 stdole이로드 된 systinternals 도구 (FileMon)로 분석하려고 할 수 있습니다. 아마도 도움이 될 것입니다. – Sascha

+0

@Sascha 아니요, 사실 단순히 stdole로 참조 된 프로젝트 만 만들려고했지만 여전히 동일한 오류가 발생했습니다. 나는 "제거하다"/ stdole을 제거하고 "다시 설치"하여이 문제가 여전히 발생하는지 확인하려고합니다. –

+0

나를 위해 작동하는 유일한 해결책은 참조를 제거하고 그것을 읽는 것입니다. 결국 문제는 다시 발생하지만 코드를 분기하여 소스 제어에서 다시 가져 오는 것처럼 보입니다. –

답변

2

직접 예를 들어 주소로 파일에 대한 참조를 추가 할 수 있습니다

C : \ WINDOWS \ 조립 \ GAC \ stdole \ 7.0.3300.0__b03f5f7f11d50a3a \ stdole.dll GAC (등록 된 어셈블리)에서

하지

+0

이것은 궁극적으로 나를 위해 해결되었습니다. Visual Studio에서 일부 위치에서 파일을 찾을 수 없다고 말했기 때문에 참조를 추가하고 찾아보기> 위치에서 stdole을 선택했습니다. –

관련 문제