2011-09-19 8 views
9

私は最近Windows 8 Devのプレビューをインストールしましたが、かなりの問題がありました。新しいC#APIを見ると、いくつかの機能が欠けていると言えます。たとえば、私はファイルを読むための待ち時間を見つけることができません - 古典的なStreamReaderは、もはやファイル名文字列を取るのではなく、むしろStreamのインスタンスを取ります。Windows開発者向けプレビューC#バージョン - 機能がありませんか?

私には何が欠けていますか?私は、実際に何も見つけていない、内部のオブジェクトブラウザを回しました。

更新:これは、ポータブルクラスライブラリと伝統的なコンパイルの違いは明らかです:http://msdn.microsoft.com/en-us/library/system.io.streamreader.aspxです。したがって、移植性のないWindows 8 APIはまだ利用可能ですか?

+0

あなたは.NETのWinRTバージョンを使用していますか? –

+1

@ダニエル私は、メトロテンプレートから新しいプロジェクトを作成したばかりです。私は 'WinMD'を使用していません。それが質問であれば、出力は' Windows Metro style Application'に設定されています。 –

答えて

5

おそらく、WinRTはそれをサポートしていません。それは完全な.NET 4.5にあるはずです。

+0

私はマイクロソフトがファイルの読み込みなどの "限界的な"機能を持たせずに、新しいおもちゃで遊ぶ(そして実際には何かを開発する)ことを期待しているとは思っていませんでした。 –

+0

'System.IO'には他のクラスがあります。 –

+4

@Mikulasファイルを扱うのに、特にWindows.Storage名前空間からのWinRTクラスを使用し、特にそれらをストリームとして開くことが想定されています。拡張メソッド 'AsStream()'を使ってストリームを 'System.IO.Stream'としてラップすることができます。 –

5

開発者プレビューには、完全なフレームワークではなく、Windows Metro Appsを開発するためのライブラリのみが含まれています。これは(悲しいことに)System.Dataとその他のよく知られた名前空間も除外しています。

+3

Dev PreviewにはVS Expressしかないからです。しかし、完全なVS(もちろんプレビューも可能)をここからダウンロードできます:http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27543 - 非Metroプロジェクトタイプを有効にします。 –

2

別に地下鉄テンプレートを使用して、あなたがWinRTのをunseという事実(他の回答を参照してください)あなたは、単にストリームを開くことができます:

using(FileStream fs = new FileStream(filename)) 
using (StreamReader reader = new StreamReader(fs)) 
{ 
    string text = reader.ReadToEnd(); 
} 
+1

Metroでは動作しません。 –

3

メトロアプリから/書き込みファイルを読むためには、新しいWindow.Storageを使用API。クラシックなファイルの読み書きは、メトロアプリケーションのセキュリティと非同期性のために、メトロアプリケーションで利用できるとは思えません。

+0

それを見つけましたが、他の人たちはまだこれで苦労しているかもしれません。ありがとう!欠けている他の機能も見つかるはずです。 –

関連する問題