1

ソリューションに存在する xml ドキュメント Swedish.xml をロードしたいと考えています。Xamarin.android でそのファイルのパスを指定するにはどうすればよいですか

ここに画像の説明を入力

私は次のコードを使用しています:

 var text = File.ReadAllText("Languages/Swedish.txt");
 Console.WriteLine("text: "+text);

しかし、例外メッセージが表示されます:

 Could not find a part of the path "//Languages/swedish.txt".

次の行も試しました:

 var text = File.ReadAllText("./Languages/Swedish.txt");

 var text = File.ReadAllText("./MyProject/Languages/Swedish.txt");

 var text = File.ReadAllText("MyProject/Languages/Swedish.txt");

しかし、どれも機能しませんでした。同じ例外メッセージが表示されます。Build Action も Content として設定します。パスがおかしい?前もって感謝します。

4

4 に答える 4

1

これで試してみてください

 string startupPath = Path.Combine(Directory.GetParent(System.IO.Directory.GetCurrentDirectory()).Parent.Parent.FullName, "Languages", "Swedish.txt");

 var text = File.ReadAllText(startupPath);
于 2013-10-01T07:02:01.050 に答える
0

ファイルをコンテンツ タイプとしてマークすると、プロジェクト ファイル内で使用しているパスと共にアプリ バンドルに含まれます。作成された IPA ファイル (単に名前が変更された zip です) を調べて、これが発生していることを確認できます。

var text = File.ReadAllText("Languages/Swedish.txt");

動作するはずです。ファイル パスは、アプリケーションのルートからの相対パスです。実際のファイルが使用するのとまったく同じ大文字小文字をコードで使用していることを確認する必要があります。シミュレーターでは大文字と小文字は関係ありませんが、デバイスではファイル システムで大文字と小文字が区別され、大文字と小文字が一致しないとアプリが壊れます。

于 2013-08-24T17:37:11.683 に答える
0

試す...

Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments)+"/Languages/Swedish.txt"
于 2013-08-24T17:19:45.080 に答える