2012-01-16 10 views
1

私はWindows MetroスタイルのアプリケーションをWindows Developer Previewでビルドすることに決めました。System.Console.WriteLineを含む1行のアプリケーションで構文エラーが発生するのはなぜですか?

私はVisual StudioとBAMを起動します。私はこのコードで

System.Console.WriteLine(""); 

を入力しようと右のように、「コンソール」の下に波線私に赤を与えます。

だから私は何か他のものしてみてください:

string text = System.IO.File.ReadAllText(@"C:\Users\Public\TestFolder\WriteText.txt"); 

をし、それは同様に失敗しました!ファイルの下に赤く震えます。

このエラーはなぜポップアップしますか?このコードはすべてうまくいくはずです!あるいは私は基本的な間違いをしていますか?

+0

赤い波打ちは何ですか? – Abel

+3

Metroスタイルのアプリケーション用のコンソールと非常に空のSystem.IO名前空間はありません。私はあなたが見ているものが確かに正しいと思います。 – Joey

+1

Abel:赤い波線の下線。下線の位置に構文エラーがあることを示します。グラフィカルIDEで非常に一般的です。 – Joey

答えて

10

Metro applications use a subset of the .Net Framework APIです。このバージョンではSystem.ConsoleSystem.IO.Fileは存在しません。 MSDNから

は「非同期I/Oのメンバーを使用する方法とSystem.IO.File.ReadAllTextメソッドを置き換え、例えば:」

public static async Task<string> ReadAllText(StorageFile file) 
{ 
    IInputStream inputStream = await file.OpenForReadAsync(); 
    using (Stream stream = inputStream.AsStream()) 
    using (StreamReader reader = new StreamReader(stream)) 
    { 
     return await Task.Run(() => reader.ReadToEnd()); 
    } 
} 
+0

私はすべてを記録するだけでなく、これを回避する方法がないと思います。ありがとう。 – JavaAndCSharp

+5

.Netに公平になるために、 'Console'を使うことはGUIでは意味をなさない。 – user7116

+1

古典的なHello Worldを含む最もシンプルなもののように見えるものの多くは、メトロの世界では最も簡単なものです。あなたのフォーム(ボタンなど)にコントロールを置き、ハンドラ内で何かを実行します(ただし、メッセージボックスやファイルへの書き込みはしないでください)。たとえば、ラベルのテキストを変更します。それがあなたのハローメトロです。 –

0

Windowsの8メトロアプリコンソールとして(コンソールがありません。グラフィカルな環境では意味がありません)。しかし、サードパーティ製のライブラリを備えたコンソールの機能をいくつか得ることができます。Console Class for Metro Apps

関連する問題