10

そこで、.NET 4.5、Windows 8、および Windows Phone 8 をターゲットとするポータブル クラス ライブラリを作成しています。プロジェクトの一部であるテキスト ファイルをビルド コンテンツとして読み取ろうとしています。StreamReader は PCL で使用できるようですが、ファイル パスが指定されている場合、ファイルからストリームを取得する方法がわかりません。誰かが私に正しい構造を教えてくれるなら、私はそれを感謝します。また、XML ファイルについてもご指示いただければ幸いです。今はテキスト ファイルしか読んでいませんが、後で XML で作業する予定です。ありがとう!

4

2 に答える 2

9

マットは正しいです。

ただし、PCL からファイルにアクセスできるようにするプラグインがあります。

私のライブラリ、MvvmCross は 1 つを提供します - https://github.com/slodge/MvvmCross/tree/vnext/Cirrious/Plugins/File

ただし...あなたが現在行っていることについては、@dsplaistedのPortable File Storageライブラリが最善の策だと思います-これはNuget経由で入手できます-http : //nuget.org/packages/pclstorage-これはPCLチームの1人によって書かれていますMicrosoft から - パスを PCL のストリームに変換するのに適しています

于 2013-03-22T07:11:50.473 に答える
9

ポータブル クラス ライブラリを使用すると、対象とするすべてのプラットフォームに存在する名前空間とクラスを操作できます。
.Net 4.5 (完全なデスクトップの WinForms/WPF を意味すると仮定)、Windows 8 および Windows Phone 8 はすべて、ファイル アクセスの方法が大きく異なり、使用できるファイルも異なります。ファイルにアクセスできる場所も大きく異なります。埋め込みコンテンツ。埋め込みリソース; 隔離されたストレージ; 共有フォルダー; ファイルシステム全体。これらは、言及したすべてのプラットフォームですべて利用できるわけではありません。

簡潔な答え。あなたはおそらくあなたが求めていることをすることはできません。

ファイル システムへのアクセスはプラットフォームによって大きく異なり、通常はプラットフォームごとに異なる方法で行う必要があります。
できることは、PCL が使用できるファイル アクセス (開く、読み取り、保存など) のインターフェイスを定義し、必要に応じて PCL に渡すプラットフォーム固有のインスタンスを作成することです。

于 2013-03-20T20:51:32.757 に答える