2016-04-04 16 views
0

私はクラスを作成し、App_Codeフォルダに配置しました。 Web.configファイルからアクセスしようとすると例外が発生します:プロファイルのデフォルトプロバイダーが見つかりませんでしたApp_Codeフォルダにあるクラスをweb.configセクションから継承する方法は?名前空間は何ですか?

<profile defaultProvider="SqlProvider" inherits="CustomUserProfile"> 
    <providers> 
     <clear /> 
     <add name="ProfileProvider" 
     connectionStringName="LocalSqlServer" 
     type="System.Web.Profile.SqlProfileProvider, 
     System.Web, Version=4.0.0.0, 
     Culture=neutral, 
     PublicKeyToken=b03f5f7f11d50a3a" 
     description="SqlProfileProvider extra fields" 
     applicationName="/" /> 
    </providers> 
    </profile> 

私はこのコードを追加します

<profile defaultProvider="SqlProvider" inherits="MyApp.App_Code.CustomUserProfile"> 

私は別のエラーを取得しています。

Compiler Error Message: BC30002: Type 'MyApp.App_Code.CustomUserProfile' is not defined. 

App_Codeフォルダにあるファイルの名前空間について教えてください。

ありがとうございました。

+0

がApp_Code'は、前のエラーを私に戻って置く、ある'削除MyApp.CustomUserProfile – cableload

+0

を試してみてください。 – Richard77

+1

クラスの周りに名前空間を追加して、明示的にそれが何であるかを知ってみてはどうでしょうか? – mason

答えて

1

DefaultProviderはこのように、プロバイダに追加した名前と一致する必要があります: `プロファイルのデフォルトのプロバイダが見つかりませんでした。

<profile defaultProvider="ProfileProvider" inherits="CustomUserProfile"> 
+0

私は2つの変更を加えました。 1)他の場所に示唆されているように、ビルドアクションをコンパイルするように変更します。2)プロジェクトの名前の前に、 'inherits =" MyApp.CustomUserProfile "'のようなクラス名を追加します。それだけでなく、あなたが指摘したことが大きな問題です。つまり、コンテンツに注意を払わずにコピー/貼り付けをしました。デフォルトのプロバイダ名は、追加したプロバイダと同じである必要があります。どうもありがとうございます。 – Richard77

関連する問題