2011-06-17 166 views
5

我是一個初學者到Visual Studio中,我可以創建Windows從項目和控制檯項目就好了,但我不能編譯空項目,Visual C#初學者空項目幫助?

我採取的步驟是:

  1. 創建空項目。
  2. 添加一個類,添加到系統的引用和System.Windows.Forms的
  3. 把下面的代碼類:

    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!"); 
    
         } 
        } 
    } 
    

然後我打了編譯,它給了我這個錯誤:

Error 1 Program 'D:\C#\Projects\Circles\Circles\obj\x86\Debug\Circles.exe' does not contain a static 'Main' method suitable for an entry point Circles

的屬性生成操作設置爲編譯,但在項目roperties啓動對象未設置,這是導致該問題,若然CA我是嗎?

編輯:問題解決請參閱CharithJ的答案。 謝謝你們。

回答

3

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!"); 
     } 
    } 
} 
+0

是的,它的工作原理非常感謝,請你解釋一下我做錯了什麼。 – 7VoltCrayon

+0

@Suleman:我爲課程和Main方法都公開了。並且將Main改爲Main。而已。幾個簡單的問題。 – CharithJ

4

您需要將'啓動對象'設置爲您的Program類。

Windows應用程序(即用「Windows應用程序」的輸出類型的應用)通常具有一個入口點,看起來像這樣:

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

雖然一個「控制檯應用程序」將典型地具有一個條目,例如:

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

你不必,只要你有一個明確的主要方法來設置啓動對象。 –

+0

@Øyvind:在這種情況下,正確的答案可能是大寫字母,我忽略了它。 –

+0

是的。我也忽略了它); –

4

您需要將public訪問修飾符添加到類和主要方法,並與一個大寫M主開始:

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

    } 
} 

編輯:根據評論,公共訪問修飾符實際上是不需要的。

+2

不需要被標記爲公開 – PaulB

+0

@PaulB:我站在糾正!謝謝:) –

2

變化

static void Main(string[] args) 

(captial 'M')

你不需要把它公開。

2

是否有什麼具體的原因,你爲什麼不在Visual Studio中使用Windows窗體應用程序模板?

3

變化static void main(string[] args)變爲public static void Main(string[] args)

Main而不是main。大寫M

+0

噢,是的,對不起,我有主程序中的大寫字母,不知道我在這裏搞砸了,但它仍然給出了相同的錯誤 – 7VoltCrayon