次の方法で共有


チュートリアル: Visual Studio Code を使用して .NET クラス ライブラリを作成する

このチュートリアルでは、1 つの文字列処理メソッドを含む単純なユーティリティ ライブラリを作成します。

クラス ライブラリ は、アプリケーションによって呼び出される型とメソッドを定義します。 ライブラリが .NET Standard 2.0 を対象とする場合は、.NET Standard 2.0 をサポートする任意の .NET 実装 (.NET Framework を含む) によって呼び出すことができます。 ライブラリが .NET 9 を対象とする場合は、.NET 9 を対象とする任意のアプリケーションから呼び出すことができます。 このチュートリアルでは、.NET 9 をターゲットにする方法について説明します。

クラス ライブラリを作成する場合は、サード パーティのコンポーネントとして、または 1 つ以上のアプリケーションにバンドルされたコンポーネントとして配布できます。

前提 条件

  • Visual Studio CodeC# Dev Kit 拡張機能 がインストールされています。

    Visual Studio Code に拡張機能をインストールする方法については、「VS Code 拡張機能 Marketplace」を参照してください。

  • .NET 9 SDK

クラス ライブラリ プロジェクトを作成する

まず、"StringLibrary" という名前の .NET クラス ライブラリ プロジェクトと、関連付けられているソリューションを作成します。 ソリューションは、1 つ以上のプロジェクトのコンテナーとして機能します。 関連するプロジェクトを同じソリューションに追加します。

  1. Visual Studio Code を起動します。

  2. エクスプローラー ビューに移動し、[.NET プロジェクトの作成] 選択します。 または、Ctrl + Shift + P (MacOS の場合は Command + Shift + P) を使用してコマンド パレットを表示し、「".NET」と入力して、.NET: New Project コマンドを見つけて選択することもできます。

  3. コマンドを選択したら、プロジェクト テンプレートを選択する必要があります。 [クラス ライブラリ] を選択します。

  4. 次に、新しいプロジェクトを作成する場所を選択します。

  5. 次に、新しいプロジェクトを作成する場所を選択します。ClassLibraryProjects という名前のフォルダーを作成して選択します。

  6. プロジェクトに StringLibrary名前を付け、[すべてのテンプレート オプション表示] を選択し、.NET 9 選択し、[プロジェクトの作成]選択します。

  7. プロジェクトに StringLibrary 名前を付け、[プロジェクト作成] を選択します。

  8. プロンプトで Enter キーを押すと、プロジェクトが <path> に作成されます

  9. ライブラリが .NET 9 を対象としていることを確認します。 エクスプローラーで、StringLibrary/StringLibrary .csproj を開きます。

    TargetFramework 要素は、プロジェクトが .NET 9.0 を対象としていることを示しています。

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <TargetFramework>net9.0</TargetFramework>
      </PropertyGroup>
    
    </Project>
    
  10. Class1.cs を開き、コードを次のコードに置き換えます。

    using System;
    
    namespace UtilityLibraries
    {
        public static class StringLibrary
        {
            public static bool StartsWithUpper(this string str)
            {
                if (string.IsNullOrWhiteSpace(str))
                    return false;
    
                char ch = str[0];
                return char.IsUpper(ch);
            }
        }
    }
    

    クラス ライブラリ UtilityLibraries.StringLibraryには、StartsWithUpperという名前のメソッドが含まれています。 このメソッドは、現在の文字列インスタンスが大文字で始まるかどうかを示す Boolean 値を返します。 Unicode 標準では、大文字と小文字が区別されます。 Char.IsUpper(Char) メソッドは、文字が大文字の場合は true を返します。

    は、 クラスのメンバーであるかのように呼び出すことができるように、 拡張メソッドとして実装されます。

  11. ファイルを保存します。

  12. ソリューション エクスプローラーエクスプローラー ビューの下部で展開します。

  13. ソリューション エクスプローラー でソリューション 右クリックし、[ビルド] 選択するか、コマンド パレットを開き 、[.NET: ビルド] を選択してソリューションをビルドし、プロジェクトがエラーなしでコンパイルされることを確認します。

    ターミナル出力は次の例のようになります。

    Microsoft (R) Build Engine version 17.8.0+b89cb5fde for .NET
    Copyright (C) Microsoft Corporation. All rights reserved.
      Determining projects to restore...
      All projects are up-to-date for restore.
      StringLibrary -> C:\Projects\ClassLibraryProjects\StringLibrary\bin\Debug\net9.0\StringLibrary.dll
    Build succeeded.
        0 Warning(s)
        0 Error(s)
    Time Elapsed 00:00:02.78
    

ソリューションにコンソール アプリを追加する

クラス ライブラリを使用するコンソール アプリケーションを追加します。 アプリはユーザーに文字列の入力を求め、文字列が大文字で始まるかどうかを報告します。

  1. ソリューション エクスプローラーの でソリューション 右クリックし、[新しいプロジェクト] 選択するか、コマンド パレットで [.NET: 新しいプロジェクト選択します。

  2. [コンソール アプリ] を選択します。

  3. ShowCase という名前を付け、既定の場所を選択し、[プロジェクトの作成] を選択します。

  4. ShowCase/Program.cs 開き、すべてのコードを次のコードに置き換えます。

    using System;
    using UtilityLibraries;
    
    class Program
    {
        static void Main(string[] args)
        {
            int row = 0;
    
            do
            {
                if (row == 0 || row >= 25)
                    ResetConsole();
    
                string? input = Console.ReadLine();
                if (string.IsNullOrEmpty(input)) break;
                Console.WriteLine($"Input: {input} {"Begins with uppercase? ",30}: " +
                                  $"{(input.StartsWithUpper() ? "Yes" : "No")}{Environment.NewLine}");
                row += 3;
            } while (true);
            return;
    
            // Declare a ResetConsole local method
            void ResetConsole()
            {
                if (row > 0)
                {
                    Console.WriteLine("Press any key to continue...");
                    Console.ReadKey();
                }
                Console.Clear();
                Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}");
                row = 3;
            }
        }
    }
    

    このコードでは、row 変数を使用して、コンソール ウィンドウに書き込まれたデータ行の数を保持します。 25 以上の場合は常に、コンソール ウィンドウがクリアされ、ユーザーにメッセージが表示されます。

    プログラムは、ユーザーに文字列の入力を求めます。 文字列が大文字で始まるかどうかを示します。 ユーザーが文字列を入力せずに Enter キーを押すと、アプリケーションが終了し、コンソール ウィンドウが閉じます。

  5. 変更を保存します。

プロジェクト参照を追加する

最初は、新しいコンソール アプリ プロジェクトにはクラス ライブラリへのアクセス権がありません。 クラス ライブラリ内のメソッドを呼び出せるようにするには、クラス ライブラリ プロジェクトへのプロジェクト参照を作成します。

  1. ソリューション エクスプローラー ShowCase プロジェクトを右クリックし、[プロジェクト参照の追加] を選択します。

  2. StringLibrary を選択します。

アプリを実行する

  1. を選択します。>を実行し、デバッグせずにを実行します。

  2. C#を選択します。

  3. ShowCaseを選択します。

    C# プログラムが読み込まれていないというエラーが発生した場合は、開いているフォルダーを閉じて、ShowCase フォルダーを開きます。 次に、アプリをもう一度実行してみてください。

  4. 文字列を入力して Enterキーを押してプログラムを試用し、終了するには Enter キーを押します。

    ターミナル出力は次の例のようになります。

    Press <Enter> only to exit; otherwise, enter a string and press <Enter>:
    
    A string that starts with an uppercase letter
    Input: A string that starts with an uppercase letter
    Begins with uppercase? : Yes
    
    a string that starts with a lowercase letter
    Input: a string that starts with a lowercase letter
    Begins with uppercase? : No
    

その他のリソース

次の手順

このチュートリアルでは、ライブラリ プロジェクトを作成し、ライブラリを使用するコンソール アプリ プロジェクトを追加しました。 次のチュートリアルでは、単体テスト プロジェクトをソリューションに追加します。

Visual Studio Code を使用して .NET で .NET クラス ライブラリをテストする