1

何度も苛立たしい経験をした後、WindowsDeveloperPreviewを使用してWindowsMetroスタイルアプリをもう一度構築することにしました。

そこで、Visual StudioとBAMを起動します!このコードを入力しようとするとすぐに

System.Console.WriteLine("");

「コンソール」の下に赤い波線が表示されます。

だから私は何か他のものを試します:

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

そしてそれも失敗します!ファイルの下の赤い波線。

このエラーが表示されるのはなぜですか?このコードはすべて正常に機能するはずです。それとも私は基本的な間違いを犯していますか?

4

2 に答える 2

10

Metro アプリケーションは .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());
    }
}
于 2012-01-16T16:04:48.173 に答える
0

Windows 8 Metro アプリにはコンソールがありませんが (グラフィカル環境のコンソールは意味がないため)、Metro アプリのコンソール クラスなどのサード パーティ製ライブラリを使用して、コンソールの機能の一部を取得できます。

于 2012-12-03T18:58:04.207 に答える