2011-07-04 19 views
0

私が会った問題は私が私のパソコンで実行している7です。 ルートファイル、wwwrootに、私はウェブサイトフォルダ、すなわち[apex]という仮想ディレクトリを持っています。フォルダ内には、名前空間を持つコンパイルされたクラスを含むbinフォルダがあります。問題をインポートするbinファイルからasp.net vb.net仮想ディレクトリ

次に、aspxファイルで、私は名前空間をインポートしようとし、名前空間内でクラスを使用しようとしました。


    <%@ import namespace="namespacexxx"> 
    <script language="vb" runat="server"> 
    sub pgld() handles me.load 
    dim sds as new the_class 
    end sub 
    </script> 
 

名前空間とクラス名が正しくチェックされていますが間違いはありません。コンパイル段階では、 "タイプが定義されていません"というメッセージが表示されます。

[OK]をクリックすると、iis 7のコントロールパネルで、ウェブサイトフォルダ全体が「仮想ディレクトリ」から「アプリケーション」タイプに変換されます。問題は消え去る!

何が起こっているのでしょうか?

答えて

0

あなたはその特定のddlのリファレンスをウェブサイトに追加していないと思います。使用する前に、あなたのウェブサイトに参照を追加する必要があります。

Right Click Website properties --> Click Add Reference 
1

IIS 6では、仮想ディレクトリの概念は少し異なりました。 IIS7では、仮想ディレクトリの場合、ルートWebサイトの実行可能フォルダからではなく、そのフォルダのファイルを使用せずにアプリケーションをコンパイルします。したがって、IIS 7の 'アプリケーション'は、それらのリソースのbinフォルダをコンパイルして検索するためには 'アプリケーション'でなければなりません - それは単に、仮想ディレクトリで、 "some path"を指すURL上のパスですディスク。これらのフォルダは独自のweb.configを持つことができますが、バイナリは「別個のアプリケーション」として期待されるように処理されません。コードは親サイトのバイナリにコンパイルされます。

関連する問題