Visual C# 初学者空项目帮助?

6

我是Visual Studio的初学者,我可以很好地创建Windows From Projects和Console Projects,但我无法编译Empty Projects。

我采取的步骤是:

  1. Create an Empty Project.
  2. Add a class, add a reference to System and System.Windows.Forms
  3. Put the following code in the class:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace Circles
    {
        class Program
        {
            static void Main(string[] args)
            {
                MessageBox.Show("Hello World!");
    
            }
        }
    }
    
然后我点击编译,它给了我这个错误:
程序“D:\ C#\ Projects \ Circles \ Circles \ obj \ x86 \ Debug \ Circles.exe”不包含适用于入口点Circles的静态“Main”方法。
属性构建操作设置为编译,但是项目属性中的启动对象未设置,这是否导致问题?如果是,我该怎么办?
编辑:问题已解决,请参见CharithJ的答案。 谢谢大家。
6个回答

5
你需要将 public 访问修饰符添加到类和主方法中,并使 main 方法以大写字母 M 开始:
public class Program
{
    public static void Main(string[] args)
    {
        MessageBox.Show("Hello World!");

    }
}

编辑:根据评论,实际上不需要任何公共访问修饰符。

4

您需要将“Startup Object”设置为您的Program类。

Windows应用程序(即输出类型为“Windows Application”的应用程序)通常具有如下入口点:

    [STAThread]
    public static void Main()
    {
        Application.EnableVisualStyles();
        Application.Run(new SomeForm());
    }

在“控制台应用程序”中,通常会有一个入口点如下:

    public static void Main(string[] arguments)
    {
        ...
    }

1
只要有一个单一且明确的 Main 方法,就无需设置启动对象。 - Øyvind Bråthen
@Øyvind:在这种情况下,正确答案可能是我忽略的大写问题。 - Paul Ruane
是的,我也忽略了它 ;) - Øyvind Bråthen
不好意思,大写字母不起作用(我已经把它大写了,但在发布时出了点问题)。 - 7VoltCrayon

4

main方法的名称应该是Main

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms;

namespace Circles 
{ 
    public class Program 
    { 
        public static void Main(string[] args) 
        { 
            MessageBox.Show("Hello World!");
        }
   }
}

是的,它有效了,非常感谢。你能解释一下我做错了什么吗? - 7VoltCrayon
@Suleman:我为类和主方法都添加了public。并将main更改为Main。就这样,只有几个简单的问题。 - CharithJ

3

static void main(string[] args) 改为 public static void Main(string[] args)

应该使用 Main 而不是 mainM 需要大写。


哦,对不起,我在程序中将主函数名大写了,不知道为什么在这里搞砸了,但它仍然会给出相同的错误。 - 7VoltCrayon

2
有没有特定的原因,你不使用Visual Studio中的Windows Form应用程序模板?

2

更改为

static void Main(string[] args)

(大写字母'M')

您不需要公开它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接