0

.js ファイルにアクセスしようとしています。このファイルはDatabaseフォルダー内にあり、myfile.jsという名前の JSON 形式のテキスト ファイルです。

これは私が使用しているコードです (これはMainPage.xaml.csから実行されます:

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

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

変数がnullであるNullReferenceExceptionため、常に例外がスローされます。resource

したがって、問題は Uri にあります。私は使用しようとしました:

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

しかし、うまくいきません。ファイルをルート ディレクトリに移動し、Uri 文字列を

@"myfile.js"

できます!しかし、私はそれを望んでいません。

また、拡張子の名前を .txt に変更しようとしましたが、何もしませんでした。

助けてください。ありがとう!

編集:ビルドアクションをデフォルトの「コンテンツ」に設定しました。「リソース」に設定しようとしましたが、どちらも機能しません。

編集#2:さて、アイテムをリソースに設定したときにのみ機能する手がかり( https://stackoverflow.com/a/12122332/2649132)を見つけました。LQI;component/Database/myfile.jsそして、それは機能します。ただし、ビルドアクションを通常のパスで「コンテンツ」に設定すると機能しないため、質問はまだ開いています。

4

1 に答える 1