2013-09-07 4 views
0

.js 파일에 액세스하려고합니다. 파일은 데이터베이스 폴더 안에 있으며 이름이 myfile.js 인 JSON 형식의 텍스트 파일입니다. . resource 변수가 null이기 때문에 항상 NullReferenceException의 예외를 발생Application.GetResourceStream이 Uri에서 파일을 파일로 저장할 수 없습니다.

Uri uri = new Uri("/Database/myfile.js", UriKind.Relative); 
var resource = Application.GetResourceStream(uri); 

StreamReader streamReader = new StreamReader(resource.Stream); 
string rawData = streamReader.ReadToEnd(); 

:

내가 사용하고 코드 (이 MainPage.xaml.cs를에서 실행된다 따라서 문제는 우리 사회에 있습니다 :

@"/Database/myfile.js" 
"/Database/myfile.js" 
"/LQI;component/Database/myfile.js" 

그러나 작동하지 않습니다. 내가 루트 디렉토리 내 파일을 이동 및

@"myfile.js" 
작동

와 열린 우리당 문자열을 교체했을 때! 그러나 나는 그것을 원하지 않는다.

또한 확장명을 .txt로 변경했지만 이름을 바꾸려고했습니다.

도와주세요. 감사합니다.

편집 : 빌드 동작을 기본값 인 "콘텐츠"로 설정했습니다. "Resource"로 설정하려고 시도했지만 작동하지 않습니다.

편집 # 2 : 알았어, 내가 LQI;component/Database/myfile.js이 자원으로 항목을 설정할 때만 작동한다는 단서 (https://stackoverflow.com/a/12122332/2649132)를 발견했습니다. 그리고 그것은 효과가 있습니다. 그러나 빌드 경로를 "내용"으로 설정하면 작동하지 않기 때문에 질문이 계속 열립니다.

답변

2

경로는 상대 경로이므로 "Database/myfile.js"를 읽도록 경로 문자열에서 선행 "/"을 제거하면 정상적으로 작동합니다.

+0

작동하지 않습니다! 나는 왜 전에 그걸 시도하지 않았는지 궁금해. 감사! –

관련 문제