2012-01-03 19 views
18

申し訳ありませんが、私はVisual Studioを初めて使用しています。複数のクラスファイル(.cs)ファイルが含まれているプロジェクトが1つあります。デバッグするたびに、1つの.csファイルしか選択されません。ありがとう。単一のクラスファイルcsファイルをコンパイルして実行するには?

編集:netbeansを使用しているJavaのバックグラウンドから、パッケージにいくつかの.javaファイルを持つことができます。ただし、.javaファイルごとに個別にコンパイルして実行できるmainメソッドがあります。このようなものはVisual Studioで利用できますか?

+1

私はそれぞれが 'main'関数を持っていると仮定していますか? – xbonez

+2

どのようなプロジェクトですか?クラスを個別に実行する理由あなたは何を達成しようとしていますか? – Oded

+3

おそらく著者はいくつかのテストをしたいと思っていて、Mainメソッドの複数のファイルを持っていると思われます。 – Bas

答えて

7

通常、別のプロジェクトに追加しない限り、1つのCSファイルを作成することはできません。 Visual Studioはプロジェクト内のすべてのCSファイルを自動的にビルドします。

あなただけがファイルの設定で、これを変更することができ、単一のファイル構築したい場合は、次のプロパティウィンドウ(F4)を見て、あなたが構築したくないファイルをクリックし

を。

enter image description here

そのファイルを構築無効にするNONEに設定ビルドアクション。

+2

私は彼がそれらを構築していないファイルを「実行」していると話していると思っていました。 – Ray

0

Program.csプロジェクトの実行時に実行する内容が含まれています。

Application.Run(new Form1()); 

実行するクラスを選択するために使用できます。

コンソールアプリケーションの場合は、エントリポイントを持つクラスだけが実行されます。あなたが実行しますメインどの方法を選択したい場合は

static void Main(string[] args) 
{ 
} 
8

、あなたはStartup ObjectProject -> Propertiesでそれを選択することができます。 (静的なように)満たす必要のあるさまざまな要件があり、一度に1つしか選択できません。

mainメソッドを複数の静的クラスで呼び出す場合は、mainメソッドを呼び出すメインのメソッドを作成する必要があります。複雑になり、クラスのためにプロジェクトを検索するためにリフレクションを使用することもできますが、静的に呼び出すよりもはるかに多くの作業が必要になります。

+2

なぜdownvote? – Ray

+0

パーフェクト!ライブラリクラスをコンソールアプリケーションに変更する際の問題を解決するのに役立ちます。 –

0

「静的メイン」メソッドを含むクラスが最初に実行されます。 最初に実行するクラスにMain()メソッドを追加します。

助けが必要な場合は、私に返信してください。 これが役立つことを願っています。

1

あなたが実行するか、または作成し、同じクラスのオブジェクトprogram.csにし、OPは、Javaの背景から来たようprogram.cs

2

main()に必要なメソッドを呼び出したいクラスにstatic main(string[] args)メソッドを追加することができます私はこの質問にちょっと違う形で答える価値があると思います。

OPには、対応するstatic Main()のメソッドを持ついくつかの異なるC#クラスがあります(これらのクラスはそれぞれ、おそらくアプリケーションコードをブートストラップする別の方法です)、ビジュアルでアプリを起動するときに簡単に切り替える必要がありますスタジオ。 簡単な答えはありません:

出力タイプが "クラスライブラリ"の場合、最初にstatic Main()メソッドを使用してプロジェクトを起動することはできません。コンソールアプリケーション "または" Windowsアプリケーション "を起動するには、static main()メソッドを持つクラスを右クリックするだけで、" Run As ... "、" Java Javaの場合、ライブラリプロジェクト/モジュールの概念はないので、static main()を含むこのクラスを含むプロジェクトが "ライブラリ"であるかどうかは関係ありません。

第2に、最も簡単な方法私は見つけました(レイの答えに非常に似ています):

  1. プロジェクトを右クリックし、「プロパティ」の「アプリケーション」で
  2. 、あなたの出力タイプが
  3. 変更「スタートアップオブジェクト」static Main()あるクラスに「クラスライブラリ」ではないことを確認してください1あなたは
  4. が、残念ながら

「新しいインスタンスを起動」プロジェクト、「デバッグ」を右クリックし、実行したい、私は別の使用して、同じプロジェクトのためにVS異なる起動構成に保存する方法を参照してくださいませんクラスを使用することができますそれらを簡単に切り替えることができます。 AFAICSはこれを実現する唯一の方法は、ソリューション内に新しいプロジェクトを作成し、異なるメインクラスを起動するように設定することです。

関連する問題