2011-01-15 3 views
3

프로그램을 실행하려고하면 어제부터 갑자기 잘 작동하는 C# 클래스에서 다음 오류가 발생합니다. 내가 솔루션을 구축하려고 할 때 그것은 성공적으로 구축되고있다.C에서 형식을로드 할 수 없습니다.

Could not load type 'FileNet.Api.Admin.IRepository' from 

어셈블리 'FileNet.Api, 버전 = 4.0.0.0, 문화 = 중립, PublicKeyToken = 63fc2fb3fdeef4f1'.

솔루션을 디버깅하려고하면 SetOSNames()에서 위의 오류가 발생합니다. 나는 SetOSNames()에 들어갈 수 없다. 방법.

컴파일러는 참조 어셈블리는 런타임에서 찾았다 어셈블리 일치하지 않음을 나타냅니다 코드와 행복

private void IntializeVariables(IConnection connection) 
{ 
    domain = Factory.Domain.FetchInstance(connection, null, null); 
    domainName = domain.Name; 
    ost = domain.ObjectStores; 
    SetOSNames(); ///Error thrown here 
} 

// 
// Intializes the ArrayList osNames with object store names. 
// 
public void SetOSNames() 
{ 
    IEnumerator ie = ost.GetEnumerator(); 
    while (ie.MoveNext()) 
    { 
     IObjectStore os = (IObjectStore)ie.Current; 
     osNames.Add(os.DisplayName); 
    } 
} 
+1

예외는 매우 자명합니다. 'FileNet.Api, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = 63fc2fb3fdeef4f1' 어셈블리에 존재하지 않는'FileNet.Api.Admin.IRepository' 타입을로드하려고합니다. –

+0

잘못된 코드를 게시했습니다. 우리가 알아야 할 것은'IRepository' 타입을 정의하는'FileNet.Api.Admin'의 장소였습니다. (힌트, 힌트) –

+1

이전 주석 이외에 : 코드는 이전에 변경된 사항으로 인해 갑자기 작동을 멈 춥니 다. 변경 한 내용을 찾아 단계별로 되돌리거나 소스 제어로 작업하는 경우 이전 버전을 가져옵니다. –

답변

5

도와주세요. Fuslogvw.exe 도구를 사용하여 어떤 어셈블리가로드되는지 확인하십시오. 실패한 것뿐만 아니라 모든 바인드를 기록하십시오. 오래된 버전이 GAC에 저장되어있을 가능성이 있으므로 FileNet.Api.dll의 잘못된 버전을 찾는 것이 좋습니다. 귀하의 dev 컴퓨터에서 GAC를 사용하지 마십시오.

+0

정말로 틀린 것입니다. GAC가 문제였습니다. 대단히 감사합니다. – acadia

관련 문제