2011-06-17 9 views
5

私は、Visual Studioに初心者だけど、私はちょうど罰金のプロジェクトからWindowsとコンソールプロジェクトを作成することができますが、私は空のプロジェクトをコンパイルすることはできません、私が取るVisual C#初心者空プロジェクトヘルプ?

手順は次のとおりです。

  1. は、ANを作成します。空のプロジェクト。
  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場合は、この問題を引き起こしていますnはありますか?

編集:質問は以下のCharithJの回答を参照してください。 ありがとうございます。

答えて

3

mainメソッド名は、あなたがいる限り、あなたは、単一の明確な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:クラスメソッドとメインメソッドの両方にpublicを追加しました。メインをメインに変更しました。それでおしまい。シンプルな問題のカップル。 – CharithJ

4

「スタートアップオブジェクト」をProgramクラスに設定する必要があります。 「コンソールアプリケーション」は一般的にこのようなエントリを持つことになりますけれども

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

Windowsアプリケーションは、(それが「Windowsアプリケーション」の出力タイプを使用するアプリケーションである)は、一般的にこのようなエントリ・ポイントを持っています:

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

でなければなりません。 –

+0

@Øyvind:正解はおそらく私が見落とした大文字です。 –

+0

です。私もそれを見落とした;) –

4

あなたは、クラスとmainメソッドにpublicアクセス修飾子を追加し、大文字のMで始まるメイン行う必要があります。

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

    } 
} 

編集:コメントごとに、公開アクセス修飾子は実際には必要ありません。あなたはそれを公開する必要はありません

static void Main(string[] args) 

+2

公開としてマークする必要はありません – PaulB

+0

@PaulB:私は修正!ありがとう:) –

2

変化(キャピタル・ 'M')

2

Visual StudioでWindowsフォームアプリケーションテンプレートを使用しない特別な理由はありますか?

3

static void main(string[] args)からpublic static void Main(string[] args)に変更してください。

Mainではないmainです。大文字M

+0

ああ、申し訳ありませんが、私はここでそれを台無しにしたかわからない、大文字の大文字を持っていますが、それはまだ同じエラーを返します – 7VoltCrayon