経緯
Windowsアプリケーションの開発中、ボタンを押すとフォルダ選択のダイアログを表示する機能を実装しようとしました。
その際、FolderBrowserDialogを使用して記述したところ、次のようなエラーメッセージが表示されました。
CS1061: 'FolderBrowserDialog' に 'UseDescriptionForTitle' の定義が含まれておらず、
型 'FolderBrowserDialog' の最初の引数を受け付けるアクセス可能な拡張メソッド 'UseDescriptionForTitle' が見つかりませんでした。
using ディレクティブまたはアセンブリ参照が不足していないことを確認してください。
エラーの原因:.NETのバージョンが古い
このエラーは、FolderBrowserDialog に .UseDescriptionForTitle プロパティが存在しないことに起因しています。
このプロパティは .NET 5.0 以降で追加されたものであり、古いバージョンの .NET Framework や .NET Core では使用できません。
つまり、プロジェクトのターゲットフレームワークが.NET 5.0未満の場合にはこのプロパティを使えません。
エラーが発生したコード例(NG)
以下は、実際にエラーが発生したコードです。
private void button_search_folder_choose_Click(object sender, EventArgs e)
{
using (var folderBrowserDialog = new FolderBrowserDialog())
{
// ダイアログの説明文を設定
folderBrowserDialog.Description = "検索するフォルダを選択してください。";
// 新しいスタイルのダイアログ(.NET 5.0以降限定)
folderBrowserDialog.UseDescriptionForTitle = true; // ←ここがエラーの原因
// ダイアログを表示
DialogResult result = folderBrowserDialog.ShowDialog();
if (result == DialogResult.OK && !string.IsNullOrWhiteSpace(folderBrowserDialog.SelectedPath))
{
textBox_search_folder.Text = folderBrowserDialog.SelectedPath;
}
}
}
解決方法:UseDescriptionForTitleを削除する
このプロパティを使わずに記述すれば、.NET Framework や .NET Core の古いバージョンでも正常に動作します。
以下が修正済みのコードです。
private void button_search_folder_choose_Click(object sender, EventArgs e)
{
using (var folderBrowserDialog = new FolderBrowserDialog())
{
// ダイアログの説明文を設定
folderBrowserDialog.Description = "検索するフォルダを選択してください。";
// ダイアログを表示
DialogResult result = folderBrowserDialog.ShowDialog();
if (result == DialogResult.OK && !string.IsNullOrWhiteSpace(folderBrowserDialog.SelectedPath))
{
textBox_search_folder.Text = folderBrowserDialog.SelectedPath;
}
}
}
この修正により、エラーは解消され、フォルダ選択ダイアログも問題なく機能します。
補足:新しいプロパティを使いたい場合
もし.UseDescriptionForTitleなど最新のUIプロパティを利用したい場合は、プロジェクトのターゲットフレームワークを.NET 5.0以降に更新する必要があります。
Visual Studioのプロジェクト設定から「ターゲットフレームワーク」を変更してください。
まとめ
UseDescriptionForTitleは.NET 5.0以降で使用可能なプロパティです。- 古い.NETバージョンではこのプロパティが存在せず、使用するとCS1061エラーが出ます。
- エラーを避けるには、この行を削除するか、ターゲットフレームワークを更新する必要があります。
この内容が同様のエラーでお困りの方の参考になれば幸いです。
ここまでお読みいただきありがとうございました。
技術書の購入コストを抑えてスキルアップするなら

ここまで読んでいただきありがとうございます。最後に宣伝をさせてください。
プログラミングの技術書や参考書は、1冊3,000円〜5,000円するものも多く、出費がかさみがちです。Kindle Unlimitedであれば、月額980円で500万冊以上の書籍が読み放題となります。
気になる言語の入門書から、アルゴリズム、基本設計の専門書まで、手元のスマホやPCですぐに参照可能です。現在は「30日間の無料体験」や、対象者限定の「3か月499円プラン」なども実施されています。まずはご自身のアカウントでどのようなオファーが表示されるか確認してみてください。
