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

重要

Microsoft は、Visual Studio for Mac の提供終了を発表しました。 Visual Studio for Mac は、2024 年 8 月 31 日でサポートが終了します。 代替手段は次のとおりです。

  • C# Dev Kit および関連する拡張機能 (.NET MAUIUnity など) を含む Visual Studio Code。
  • Mac 上の VM で Windows 上で実行されている Visual Studio。
  • クラウド内の VM の Windows 上で実行されている Visual Studio。

詳細については、「Visual Studio for Mac 提供終了のお知らせ」を参照してください。

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

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

注意

お客様のフィードバックは非常に貴重です。 次の 2 つの方法で Visual Studio for Mac の開発チームにフィードバックを送信できます。

  • Visual Studio for Mac で、メニューから [ヘルプ]>[問題の報告] の順に選択するか、ようこそ画面から [問題の報告] を選択して、バグ報告を提出するためのウィンドウを開きます。 お客様のフィードバックは、開発者コミュニティ ポータルで追跡することができます。
  • 提案するには、メニューから [ヘルプ]>[提案の送信] の順に選択するか、ようこそ画面から [提案の送信] を選択し、Visual Studio for Mac の開発者コミュニティの Web ページに移動します。

必須コンポーネント

クラス ライブラリ プロジェクトを含むソリューションの作成

1 つの Visual Studio のソリューションは、1 つまたは複数のプロジェクトのコンテナーとして機能します。 ソリューションと、そのソリューション内のクラス ライブラリ プロジェクトを作成します。 後ほど、さらに関連するプロジェクトを同じソリューションに追加します。

  1. Visual Studio for Mac を起動します。

  2. スタート ウィンドウで、 [新しいプロジェクト] を選択します。

  3. [新しいプロジェクト用のテンプレートを選びます] ダイアログで、 [Web and Console]\(Web とコンソール\)>[ライブラリ]>[クラス ライブラリ] の順に選択した後、 [次へ] を選択します。

    New Project dialog

  4. [Configure your new Class Library](新しいクラス ライブラリの構成) ダイアログで、 [.NET 5.0] を選択し、 [次へ] を選択します。

  5. プロジェクトに「StringLibrary」という名前を指定し、ソリューションに「ClassLibraryProjects」という名前を指定します。 [ソリューション ディレクトリ内にプロジェクト ディレクトリを作成する] はオンのままにしておきます。 [作成] を選択します

    Visual Studio for Mac New project dialog options

  6. メイン メニューから [表示]>[ソリューション] の順に選択し、ドッキング アイコンを選択してパッドを開いたままにします。

    Dock icon for Solution pad

  7. [ソリューション] パッドで、StringLibrary ノードを展開し、テンプレートで提供される Class1.cs というクラス ファイルを表示します。ctrl キーを押しながらファイルをクリックし、コンテキスト メニューから [名前の変更] を選択して、ファイル名を StringLibrary.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);
            }
        }
    }
    
  8. S (command+S) キーを押して、ファイルを保存します。

  9. IDE ウィンドウの下部の余白にある [エラー] を選択して、 [エラー] パネルを開きます。 [ビルド出力] ボタンを選択します。

    Bottom margin of the Visual Studio Mac IDE showing the Errors button

  10. メニューから [ビルド]>[すべてビルド] の順に選択します。

    ソリューションがビルドされます。 ビルド出力パネルに、ビルドが成功したことが示されます。

    Visual Studio Mac Build output pane of the Errors panel with Build successful message

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

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

  1. [ソリューション] パッドで、ctrl キーを押しながら ClassLibraryProjects ソリューションをクリックします。 [Web and Console]\(Web とコンソール\)>[アプリ] テンプレートからテンプレートを選択することで、新しい [コンソール アプリケーション] プロジェクトを追加し、 [次へ] を選択します。

  2. [ターゲット フレームワーク] として [.NET 5.0] を選択し、 [次へ] を選択します。

  3. プロジェクトに「ShowCase」という名前を付けます。 [作成] を選択し、ソリューションでプロジェクトを作成します。

    Add ShowCase project

  4. 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;
            }
        }
    }
    

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

    このコードでは、row 変数を使って、コンソール ウィンドウに書き込まれるデータの行数のカウントを維持します。 これが 25 以上になると、コードによってコンソール ウィンドウがクリアされ、ユーザーにメッセージが表示されます。

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

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

  1. [ソリューション] パッドで、ctrl キーを押しながら、新しい ShowCase プロジェクトの [依存関係] ノードをクリックします。 コンテキスト メニューから [参照の追加] を選択します。

  2. [参照] ダイアログで、 [StringLibrary] を選択して [OK] を選択します。

アプリを実行する

  1. ctrl キーを押しながら ShowCase プロジェクトをクリックし、コンテキスト メニューから [プロジェクトの実行] を選択します。

  2. 文字列を入力して enter キーを押すことでプログラムを試してみます。enter キーを押して終了します。

    Visual Studio for Mac console window showing your app running

その他の技術情報

次の手順

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