この入門記事では、Visual Studioで solution と project を作成する意味について説明します。 ソリューションは、クラス ライブラリ プロジェクトや対応するテスト プロジェクトなど、1 つ以上の関連するコード プロジェクトを整理するために使用されるコンテナーです。 この記事では、プロジェクトのプロパティと、プロジェクトに含めることができるファイルの一部について説明します。 また、あるプロジェクトから別のプロジェクトへの参照も作成します。
この記事では、プロジェクトの概念を理解するために、ソリューションとプロジェクトをゼロから構築します。 Visual Studioの一般的な用途では、新しいプロジェクトの作成時にVisual Studio提供されるさまざまなプロジェクト templates を使用する可能性があります。
注
ソリューションとプロジェクトは、Visual Studioでアプリを開発する必要はありません。 コードを含むフォルダーを開き、コーディング、ビルド、デバッグを開始することもできます。
たとえば、GitHub リポジトリを複製した場合、Visual Studioプロジェクトとソリューションが含まれていない可能性があります。 詳細については、「プロジェクトやソリューションを使用しないVisual Studioでのコードの開発を参照してください。
[前提条件]
- この記事に従うには、Visual Studioが必要です。 無料でインストールするには、Visual Studioダウンロードを参照してください。
ソリューションとプロジェクト
その名前にもかかわらず、解決策は 答えではありません。 ソリューションは、1 つ以上の関連プロジェクトを整理するためにVisual Studioによって使用されるコンテナーです。 Visual Studioでソリューションを開くと、ソリューションに含まれるすべてのプロジェクトが自動的に読み込まれます。
ソリューションを作成する
探索を開始するには、空のソリューションを作成します。 Visual Studioを理解した後、空のソリューションを頻繁に作成することはおそらくありません。 新しいプロジェクトを作成すると、Visual Studioソリューションがまだ開いていない場合は、プロジェクトを収容するソリューションが自動的に作成されます。
Visual Studioを開きます。
スタート ウィンドウで、[新しいプロジェクト
作成] を選択します。 [ 新しいプロジェクトの作成 ] ウィンドウで、検索ボックスに 空のソリューション を入力します。 空の ソリューション テンプレートを選択します。 [次へ] を選びます。
検索ボックスに [空のソリューション] が表示され、[空のソリューション プロジェクト テンプレート] が選択されている [新しいプロジェクトの作成] ウィンドウを示すスクリーンショット。
ソリューションに QuickSolution という名前を付け、[ 作成] を選択します。
Visual Studio ウィンドウの右側の ソリューション エクスプローラー にソリューションが表示されます。 多くの場合、ソリューション エクスプローラーを使用して、プロジェクトの内容を参照します。
プロジェクトを追加する
次に、最初のプロジェクトをソリューションに追加します。 空のプロジェクトを追加し、必要な項目をプロジェクトに追加します。
Solution 'QuickSolution' の右クリック メニューまたはコンテキスト メニューから、ソリューション エクスプローラー で Add>New Project を選択します。
[ 新しいプロジェクトの追加] というダイアログが開きます。
上部の検索ボックスにテキスト
empty を入力し、すべての言語 ドロップダウン リストで Visual Basic を選択します。Empty Project (.NET Framework) テンプレートを選択し、Next を選択します。
プロジェクトに QuickDate という名前を付け、[ 作成] を選択します。
QuickDate という名前のプロジェクトが、ソリューション エクスプローラー のソリューションの下に表示されます。 現在、 App.configという名前の 1 つのファイルが含まれています。
注
Empty Project (.NET Framework) テンプレートが表示されない場合は、.NETデスクトップ開発 Visual Studio workloadをインストールする必要があります。 Visual Studioは、ワークロードベースのインストールを使用して、実行する開発の種類に必要なコンポーネントをインストールします。
新しいワークロードをインストールする簡単な方法は、探しているものが見つからないというテキストの下にある [その他のツールと機能のインストール] リンクを選択することです。 Visual Studio インストーラーが起動したら、.NET デスクトップ開発 ワークロードを選択し、次に Modify ボタンを選択します。
[その他のツールと機能のインストール] リンクが強調表示されている [新しいプロジェクトの作成] ウィンドウを示すスクリーンショット。
注
Empty Project (.NET Framework) テンプレートが表示されない場合は、.NETデスクトップ開発 Visual Studio workloadをインストールする必要があります。 Visual Studioは、ワークロードベースのインストールを使用して、実行する開発の種類に必要なコンポーネントをインストールします。
新しいワークロードをインストールする簡単な方法は、探しているものが見つからないというテキストの下にある [その他のツールと機能のインストール] リンクを選択することです。 Visual Studio インストーラーが起動したら、.NET デスクトップ開発 ワークロードを選択し、次に Modify ボタンを選択します。
プロジェクトに項目を追加する
空のプロジェクトを持っています。 次に、コード ファイルを追加します。
ソリューション エクスプローラーの QuickDate プロジェクトの右クリック メニューまたはコンテキスト メニューから、Add New Item を選択します。 [新しい項目の追加] ダイアログが開きます。初めて項目を追加すると、Visual Studioこのダイアログのコンパクト ビューが開きます。 ダイアログ全体を表示するには、[ すべてのテンプレートを表示] を選択します。
[ 共通項目] を展開し、[ コード] を選択します。 中央のウィンドウで、 クラス 項目テンプレートを選択します。 クラスに Calendar という名前を付 けます。 次に、[追加] を選びます。
Calendar.vbという名前 の ファイルがプロジェクトに追加されます。 最後の.vbは、Visual Basicコード ファイルのファイル拡張子です。 ファイルは、ソリューション エクスプローラー のビジュアル プロジェクト階層に表示されます。 その内容がエディターで開きます。
Calendar.vb ファイルの内容を次のコードに置き換えます。
Class Calendar Public Shared Function GetCurrentDate() As Date Return DateTime.Now.Date End Function End Classクラスには、現在の日付を返す 1 つの関数 () が含まれています。
ソリューション エクスプローラーでMy Projectをダブルクリックして、プロジェクトのプロパティを開きます。 [ アプリケーション ] タブで、[ アプリケーションの種類] を [クラス ライブラリ] に変更します。 この手順は、プロジェクトを正常にビルドするために必要です。
ソリューション エクスプローラー の QuickDate を右クリックし、Build を選択して、プロジェクトをビルドします。 [出力] ウィンドウに正常なビルド メッセージが表示されます。
2 つ目のプロジェクトを追加する
ソリューションには複数のプロジェクトを含めるのが一般的です。 多くの場合、これらのプロジェクトは相互に参照します。 ソリューション内の一部のプロジェクトは、クラス ライブラリ、一部の実行可能アプリケーション、および単体テスト プロジェクトまたは Web サイトである場合があります。
ソリューションに単体テスト プロジェクトを追加します。 プロジェクト に別のコード ファイルを追加する必要がないように、プロジェクト テンプレートから開始します。
Solution 'QuickSolution' の右クリック メニューまたはコンテキスト メニューから、ソリューション エクスプローラー で Add>New Project を選択します。
[ 新しいプロジェクトの追加 ] ウィンドウで、上部の検索ボックスにテキスト 単体テスト を入力します。 次に、
すべての言語の一覧で を選択します。Visual Basic Unit Test Project (.NET Framework) プロジェクト テンプレートを選択し、Next を選択します。
プロジェクトに QuickTest という名前を付け、[ 作成] を選択します。
2 番目のプロジェクトが ソリューション エクスプローラー に追加されます。 UnitTest1.vbという名前 の ファイルがエディターで開きます。
プロジェクト参照を追加する
新しい単体テスト プロジェクトを使用して QuickDate プロジェクトでメソッドをテストするため、そのプロジェクトへの参照を追加する必要があります。 この参照により、2 つのプロジェクト間に ビルド依存関係 が作成されます。つまり、ソリューションをビルドすると、 QuickDate は QuickTest より前にビルドされます。
QuickTest プロジェクトの [参照] ノードを選択し、右クリックまたはコンテキスト メニューから [参照の追加] を選択します。
QuickTest プロジェクトの [参照] ノードのコンテキスト メニューを示すスクリーンショット。[参照の追加] オプションが選択されています。
参照マネージャーが開きます。
左側のウィンドウで、[ プロジェクト ] を展開し、[ソリューション] を選択 します。 中央のウィンドウで、 QuickDate の横にあるチェック ボックスをオンにし、[ OK] を選択します。
QuickDate プロジェクトへの参照が追加されます。
テスト コードを追加する
次に、Visual Basic コード ファイルにテスト コードを追加します。 UnitTest1.vbの内容を次のコードに置き換えます。
<TestClass()> Public Class UnitTest1 <TestMethod()> Public Sub TestGetCurrentDate() Assert.AreEqual(Date.Now.Date, QuickDate.Calendar.GetCurrentDate()) End Sub End Classコードの一部に赤い波線が引かれているのが見えます。 このエラーを修正するには、テスト プロジェクトを QuickDate プロジェクトのフレンド アセンブリにします。
QuickDate プロジェクトに戻り、Calendar.vb ファイルがまだ開いていない場合は開きます。 テスト プロジェクトのエラーを解決するには、次の Imports ステートメント と 属性を追加します。
Imports System.Runtime.CompilerServices <Assembly: InternalsVisibleTo("QuickTest")>コード ファイルは次のようになります。
プロジェクトのプロパティ
属性を含む ファイル内の行は、QuickTest プロジェクトのアセンブリ名 (ファイル名) を参照します。 アセンブリ名は、必ずしもプロジェクト名と同じであるとは限りません。 プロジェクトのアセンブリ名を検索するには、プロジェクトのプロパティを開きます。
ソリューション エクスプローラー で、QuickTest プロジェクトを選択します。 右クリックまたはコンテキスト メニューから [プロパティ] を選択するか、Alt キーEnter キーを押します。
ソリューション エクスプローラーで My Project をダブルクリックすることもできます。プロジェクトの プロパティ ページ が [ アプリケーション ] タブで開きます。プロパティ ページには、プロジェクトのさまざまな設定が含まれています。 QuickTest プロジェクトのアセンブリ名は、実際には "QuickTest" です。 アセンブリ名を変更する場合は、このページを使用します。 その後、テスト プロジェクトをビルドすると、結果のバイナリ ファイルの名前が QuickTest.dll から選択したものに変わります。
[アセンブリ名] フィールドが強調表示され、値が QuickTest である QuickTest プロジェクトのプロパティ ページの [アプリケーション] タブを示すスクリーンショット。
プロジェクトのプロパティ ページの他のタブ ( [コンパイル] や [設定] など) を確認します。 これらのタブは、プロジェクトの種類によって異なります。
(省略可能)テストを実行する
単体テストが動作していることを確認する場合は、メニュー バーから [ テストすべてのテストを実行 する] を選択します。 テスト エクスプローラーというウィンドウが開きます。 TestGetCurrentDate テストに合格していることがわかります。
ヒント
テスト エクスプローラーが自動的に開かない場合は、メニューから [テストテスト エクスプローラー] を選択します。
関連するコンテンツ
Visual Studioをさらに詳しく調べる場合は、Visual Basic チュートリアルのいずれかに従ってアプリを作成することを検討してください。
次のリソースも役立つ場合があります。
- プロジェクトとソリューションを作成する
- プロジェクトとソリューションのプロパティの管理
- プロジェクト内の参照を管理する
- プロジェクトやソリューションを含まないVisual Studioでのコードの開発
- Visual Studio IDEの概要