1

리소스와 함께 추가하는 PCL 콘텐츠 파일을 읽으려고합니다. 이것에 대한 이상적인 사용 사례는 네트워크 서비스 테스트를 위해 몇 개의 json 파일을 호스트하고자하는 REST 서비스 모의다. 서버를 사용할 수없는 경우 대안으로 이러한 json 파일을 읽을 수 있기를 원합니다.이 작업을 수행하려면 어떻게해야합니까?PCL 클래스에 포함 된 솔루션 파일에 액세스하는 방법

json 파일과 NetworkService 클래스는 모두 PCL 내에 있습니다.

  • 설정을 복사 출력 디렉토리에 내용> - - 가정 다른 솔루션이 내가

    • 이 솔루션
    • 세트 빌드 작업에 모의 JSON 파일과 폴더를 드래그 뭘하려

      관련이 없습니다>

    최근이가 NetworkService와 대체 코드

    의 일부인 경우 복사

    이 코드를 실행하려고하면 System.IO.FileNotFoundException이 발생합니다. 내가 뭘 잘못했는지 생각해? 나는 EmbeddedResource 접근법을 시도했지만 그 중 하나는 효과가 없었다.

  • +0

    내 문제에 대한 추가 정보가 필요하면 알려주십시오. –

    답변

    0

    이것은 잠깐 동안 작업 한 EmbeddedResource 메소드입니다.이 문제를 처리하기위한 좀 더 명확한 방법 인 Build Action> Content와 관련된 더 나은 답변을 upvote/mark 할 것입니다. 솔루션은 대답 중 하나에 표시됩니다 here

    // the below approach is essential to getting the right assembly 
    var assembly = typeof(TestClass).GetTypeInfo().Assembly; 
    
    // Use this help aid to figure out what the actual manifest resource name is. 
    // can be removed later 
    string[] resources = assembly.GetManifestResourceNames(); 
    
    // Once you figure out the name from the string array above, pass it in as the argument here. 
    // . replaces/
    Stream stream = assembly.GetManifestResourceStream("TestMockJson.Mock.TestFile.Json"); 
    var sr = new StreamReader(stream); 
    return sr.ReadToEnd();