目次

ASP.NET Web Fromアプリケーションで「型または名前空間の名前 'クラス名' が名前空間 'System.Web.UI' に存在しません」エラーが発生しビルドできない

目次

ASP.NET Web Fromアプリケーションで「型または名前空間の名前 'クラス名' が名前空間 'System.Web.UI' に存在しません」エラーが発生しビルドできない現象と対処法を紹介します。

現象

プロジェクトをビルドすると、次のエラーメッセージが表示されます。

エラーメッセージ
CS0234 型または名前空間の名前 '(クラス名)' がな名前空間 'System.Web.UI' に存在しません (アセンブリ参照があることを確認してください))

英語メッセージでは次のメッセージになります。

Error Message
CS0234 The type or namespace name '(クラス名)' does not exist in the namespace 'System.Web.UI' (are you missing an assembly reference?)

ASP.NET Web Fromアプリケーションで「型または名前空間の名前 'クラス名' が名前空間 'System.Web.UI' に存在しません」エラーが発生しビルドできない:画像1

System.Web アセンブリの一部のクラスは参照できますが、一部のクラスは参照できない状態になります。 Microsoft .NET Framework の Client Profileが設定されている症状に近い状態(参考)ですが、 プロジェクトの設定を確認しても Client Profileには設定されていない状態です。

対処法

ターゲットフレームワークを別のバージョンに変更すると解消される場合があります。 そのため、一度別の.NET Framework のバージョンに変更してビルドした後に、元の.NET Framework のバージョンに戻すと問題を解決できる場合があります。

手順

ASP.NETプロジェクトのプロパティを表示します。左側の[アプリケーション]の項目をクリックして選択します。下図の画面が表示されます。
ASP.NET Web Fromアプリケーションで「型または名前空間の名前 'クラス名' が名前空間 'System.Web.UI' に存在しません」エラーが発生しビルドできない:画像2

[対象のフレームワーク]のコンボボックスをクリックします。ドロップダウンリストが表示されますので、現在のバージョンとは異なる.NET Frameworkのバージョンを選択します。 あまり古いバージョンですと互換性の問題が発生するため、一つ前のバージョンが良いかと思います。
ASP.NET Web Fromアプリケーションで「型または名前空間の名前 'クラス名' が名前空間 'System.Web.UI' に存在しません」エラーが発生しビルドできない:画像3

下図の[ターゲットフレームワークの変更]ダイアログが表示されますので、[はい]ボタンをクリックします。
ASP.NET Web Fromアプリケーションで「型または名前空間の名前 'クラス名' が名前空間 'System.Web.UI' に存在しません」エラーが発生しビルドできない:画像4

ターゲットフレームワークのバージョンが変更されました。この状態でビルドすると、先ほどのCS0234エラーが発生せずにビルドできます。
ASP.NET Web Fromアプリケーションで「型または名前空間の名前 'クラス名' が名前空間 'System.Web.UI' に存在しません」エラーが発生しビルドできない:画像5

ビルドが通った後、ターゲットフレームワークのバージョンを元のバージョンに戻して、再度ビルドをします。エラーが解消され、正常にビルドできます。
ASP.NET Web Fromアプリケーションで「型または名前空間の名前 'クラス名' が名前空間 'System.Web.UI' に存在しません」エラーが発生しビルドできない:画像6

CS0234エラーを解消することができました。

AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2022-05-16
Copyright © 1995–2025 iPentec all rights reserverd.