2011-12-07 13 views
0

VB.netを使用してWebサーバーを実行していて、同様の機能を利用する必要があるページがたくさんあるので、この共有機能をすべて組み込んだ共有ベースクラスを作成することを考えていました。私はSharedBaseClass.vbというファイルを作成し、このクラスから継承するクラスを持っています。SubClass.aspx.vbVB.NETの継承に関するトラブル

Partial Class SharedBaseClass 
    Inherits System.Web.UI.Page 

そして、継承すべき子クラスの:

:それはこのようになります SubClass.aspxファイルの先頭に続いて

Partial Class SubClass 
    Inherits SharedBaseClass 

このような親クラスの外観のトップ数行

<%@ Page Title="" Language="VB" MasterPageFile="~/Main_SA.master" AutoEventWireup="false" Src="SubClass.aspx.vb" Inherits="SubClass" %> 

これらのファイルがすべて同じディレクトリにあるとします。

これを実行しようとすると、エラーが発生します。 コンパイラエラーメッセージ:BC30002: 'SharedBaseClass'タイプが定義されていません。 そして、強調表示されたエラーは次の行に表示されます。Inherits SharedBaseClass

また、ファイルを無駄にインポートしようとしました。私は間違って何をしていますか?

答えて

1

一つの他のアイテムは、同じNamespaceが指定されていることを、あなたはSharedBaseClassで指定されたNamespaceを持っている場合ことを確認することです継承されたクラスの場合

+0

私はそれを得た。私のApp_Codeフォルダがどこに保存されていたのかが問題でした – ecbtln

2

クラスSharedBaseClassはpublicで、コードファイルSharedBaseClass.vbApp_Codeフォルダの下になければなりません。それはC#であるようVB.Netのような大きな問題ではありませんチェックする

Public Partial Class SharedBaseClass 
    Inherits System.Web.UI.Page 
.... 
+1

VB.Netでは許可されていないので、クラスからSharedステートメントを削除する必要があります。 –

+0

@competent_tech - ありがとうございました!共有ではなく、部分的でなければなりません。 – adatapost

+0

は、基本クラスを公開した後でも、私に同じ問題を与えています。私は実際にMicrosoft Visual Studio以外でこのコードを編集しています。これが問題である可能性はありますか?ビジュアルスタジオはファイルのインポートを自動化し、コードのコンパイル時に使用されるバンドルを作成しますか? – ecbtln