none
VS2015 C# System.InvalidOperationException 异常问题 RRS feed

  • 问题

  • 入门第一天

    编了个最简单的CONSOLE程序,然后启动的时候就有异常了

    “System.InvalidOperationException”类型的未经处理的异常在 mscorlib.dll 中发生 

    其他信息: 如果应用程序没有控制台或控制台输入已通过文件进行了重定向,则无法读取键。请尝试使用 Console.Read。

    问题指向十七行   也就是  

                Console.ReadKey();             这一行

    求解答,感激不尽

    #region Using directives
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    #endregion

    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                //output text to the screen.
                Console.WriteLine("the first app in beginning C# programing");
                Console.ReadKey();
            }
        }
    }

    2015年10月29日 16:40

答案

  • Hi, 

    这个错误应该是你的工程类型不是Console, 只有Console类型的工程才可以使用Console.ReadKey()。

    最好是新建一个工程,在你新建工程的时候,模板要选择Console Application. 

    然后再敲入你的代码。

    我这边是新建的Console Application,copy你的代码,没有问题,如果在project 属性里面把output type 改成windows Application,会得到和你一样的错误:

    Cannot read keys when either application does not have a console or when console input has been redirected from a file. Try Console.Read.

    再在Project属性里面改回Console,就好了。你也可以试一试把output type改成Console. 但是我不确定可不可以,可能还需要改Startup object,到你上面的Main所在的类。

    • 已建议为答案 shao.meng 2015年10月30日 2:43
    • 已标记为答案 NeonCowboy 2015年11月4日 16:36
    2015年10月30日 0:06

全部回复

  • Hi, 

    这个错误应该是你的工程类型不是Console, 只有Console类型的工程才可以使用Console.ReadKey()。

    最好是新建一个工程,在你新建工程的时候,模板要选择Console Application. 

    然后再敲入你的代码。

    我这边是新建的Console Application,copy你的代码,没有问题,如果在project 属性里面把output type 改成windows Application,会得到和你一样的错误:

    Cannot read keys when either application does not have a console or when console input has been redirected from a file. Try Console.Read.

    再在Project属性里面改回Console,就好了。你也可以试一试把output type改成Console. 但是我不确定可不可以,可能还需要改Startup object,到你上面的Main所在的类。

    • 已建议为答案 shao.meng 2015年10月30日 2:43
    • 已标记为答案 NeonCowboy 2015年11月4日 16:36
    2015年10月30日 0:06
  • 谢谢你回答了我的问题,确实是项目属性不console的问题。

    我是在点开VS2015 后直接点最近项目里点开我上次敲的代码试试运行的时候出的问题。估计是VS在我点开最近项目的时候把项目属性改成了WINODWS APPLICATION吧。

    2015年11月4日 16:36