前提・実現したいこと
Console.ReadKey();のコードを記述するとデバッグ時にエラーになってしまうのですが、
原因と対処法のご教示をお願い致します。
フォルダ構造
C:. │ Program.cs │ SampleProject.csproj │ ├─.vscode │ launch.json │ tasks.json │ ├─bin │ └─Debug │ └─netcoreapp3.1 │ SampleProject.deps.json │ SampleProject.dll │ SampleProject.exe │ SampleProject.pdb │ SampleProject.runtimeconfig.dev.json │ SampleProject.runtimeconfig.json │ └─obj │ project.assets.json │ SampleProject.csproj.nuget.cache │ SampleProject.csproj.nuget.dgspec.json │ SampleProject.csproj.nuget.g.props │ SampleProject.csproj.nuget.g.targets │ └─Debug └─netcoreapp3.1 SampleProject.AssemblyInfo.cs SampleProject.AssemblyInfoInputs.cache SampleProject.assets.cache SampleProject.csproj.FileListAbsolute.txt SampleProject.csprojAssemblyReference.cache SampleProject.dll SampleProject.exe SampleProject.pdb
WindowsのVSCodeでデバッグしています。
試したこと
こちらを参考にしました。
下記のようにConsole.ReadKey()に関する行をコメントアウトしておくと、正常に出力されていることを確認しています。
C#
1using System; 2 3namespace SampleProject 4{ 5 class Program 6 { 7 static void Main(string[] args) 8 { 9 Console.WriteLine("Hello World!"); 10 11 // Console.ReadKey(); 12 } 13 } 14}
Console.ReadKey()に関する行をコメント解除するとエラーになってしまいます。
C#
1using System; 2 3namespace SampleProject 4{ 5 class Program 6 { 7 static void Main(string[] args) 8 { 9 Console.WriteLine("Hello World!"); 10 11 Console.ReadKey(); 12 } 13 } 14} 15
エラーメッセージ
例外が発生しました: CLR/System.InvalidOperationException 型 'System.InvalidOperationException' のハンドルされていない例外が System.Console.dll で発生しました: 'Cannot read keys when either application does not have a console or when console input has been redirected. Try Console.Read.' 場所 System.ConsolePal.ReadKey(Boolean intercept) 場所 System.Console.ReadKey() 場所 SampleProject.Program.Main(String[] args) (C:\Users\username\Desktop\SampleProject\Program.cs):行 11
補足情報(FW/ツールのバージョンなど)
Windows
Visual Studio Code
dotnet version:3.1.100
回答2件
あなたの回答
tips
プレビュー