2010-07-18 8 views
1

내 사용자 지정 DLL "MongoDbExtensions"를 만들었습니다. 이제 새로운 프로젝트에서 "MongoDbExtensions"에 대한 참조를 추가 한 다음 ToDocument라는 MongoDbExtensions에서 메서드를 호출하려고합니다. resharper를 사용하여 파일의 맨 위에 네임 스페이스를 추가했지만 컴파일 할 때 다음 오류가 발생합니다.Visual Studio 2010에서 참조 문제 추가

오류 1 'MongoDbExtensions'유형 또는 네임 스페이스 이름을 찾을 수 없습니다 (사용 지시문 또는 어셈블리 참조?) C : \ Projects \ HelpForum \ DemoConsole \ Program.cs 6 7 DemoConsole

무엇이 잘못 되었습니까? 내 DLL은 여기에서 다운로드 할 수 있습니다

UPDATE 1 :

namespace MongoDbExtensions 
{ 

    public static class MongoExtensions 
    { 
     public static List<T> ToList<T>(this IEnumerable<Document> documents) 
     { 
      var list = new List<T>(); 

      var enumerator = documents.GetEnumerator(); 

      while (enumerator.MoveNext()) 
      { 
       list.Add(enumerator.Current.ToClass<T>()); 
      } 

      return list; 
     } 

} 
} 

ToDocument이 객체에 작동하는 확장 방법 :

여기

는 MongoExtensions 클래스입니다.

+0

코드를 알려주십시오. – SLaks

+0

추가 된 참조 MongoDbExtensions를 마우스 오른쪽 버튼으로 클릭하고 객체 브라우저를 선택하십시오. 이제 브라우저에서 ToDocument()를 호출하는 구조를 확인합니다. 거기에서 네임 스페이스와 그것이 호출되는 calss를 얻습니다. 그러면 해결할 때 도움이됩니다 –

답변

3

나는 repro. 이 DLL은 .NET 4.0을 대상으로 작성되었습니다. 전체 4.0 .NET 프레임 워크가 아닌 다른 대상을 사용하는 프로젝트에서는 사용할 수 없습니다. 낮은 버전 또는 클라이언트 프로파일을 대상으로 지정하면이 오류가 발생합니다.

+0

.NET 4.0 프로젝트에서 사용하려고합니다! – azamsharp

+0

감사합니다 한스! 당신 말이 맞아요! .NET 4.0으로 전환하고 이제는 작동하기 시작했습니다. 팁 고마워! – azamsharp

0

클래스가 MongoExtensions이므로, 테스트 프로젝트 소스 코드에서 MongoDbExtensionsMongoExtensions으로 변경해야합니다.

+0

예, 정확히 MongoDbExtensions.MongoExtensions를 호출합니다 (예 : MongoDbExtensions.MongoExtensions.BetterInsert (myColl, myDoc)) 또는 해당하는 using 문을 삽입하십시오. – Andreas

+0

테스트 프로젝트 소스 코드 란 무엇을 의미합니까? Resharper를 사용하여 참조를 추가했지만 여전히 동일한 오류가 발생했습니다 !! – azamsharp

+0

'.cs' 파일에서 올바른 클래스 이름을 사용해야합니다. – SLaks

관련 문제