2014-09-25 4 views
1

내 MVC5 앱에 대한 단위 테스트를 만들고 리소스를 사용하고 있습니다. 내 문제는 내가이 예외를 throw하는 테스트를 실행할 때입니다.리소스 어셈블리를 찾을 수 없습니다.

System.Resources.MissingManifestResourceException : 지정된 문화권 또는 중립 문화에 적절한 자원을 찾을 수 없습니다. 확인 "Resources.Ressources.resources"가 올바르게 삽입 또는 컴파일 타임에 어셈블리 "GestionSaisieExternaliséeV2"에 연결, 또는 한 확인에 필요한 모든 위성 어셈블리를로드 할 수있는 완전히 서명 것을 나는 작업에서 자원을 사용하고

컨트롤러의

[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 
internal static global::System.Resources.ResourceManager ResourceManager 
{ 
    get 
    { 
      if (object.ReferenceEquals(resourceMan, null)) 
      { 
       global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Resources.Ressources", typeof(Ressources).Assembly); 
       resourceMan = temp; 
      } 
      return resourceMan; 
    } 
} 

은 VS 솔루션 프로젝트 :

  • MVC (5) 프로젝트.
  • 단위 테스트 프로젝트
+1

오류 메시지의 모든 내용을 확인 했습니까? 그렇다면 발견 한 내용으로 게시물을 업데이트하십시오. –

+0

정확히 무엇을 확인할 지 모르겠다. 리소스 파일 ".resx"는 bin 폴더이고 MVC 응용 프로그램의 DLL이다. – HLS

+0

테스트 프로젝트에 참조가 누락 되었습니까? –

답변

1

해결. 리소스 파일은 파일의 속성에서 "포함 리소스"로 설정해야합니다.

여러분 덕분에.

0

리소스 클래스를 공개로 설정해야한다고 생각합니다. 아래 그림을 참조하십시오

Make resources public.

또 다른 것은 당신의 MVC 프로젝트의 AssemblyInfo.cs 파일에 InternalVisibleTo 속성을 추가하는 것입니다. 이렇게하면 내부 어셈블리 유형 (기본 액세스 수정 자)이 테스트 어셈블리에서 볼 수 있으므로 여기에서 Resources.Something에 액세스 할 수 있습니다.

관련 문제