2011-07-04 47 views
0

我遇到的问题是我的iis 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> 
 

命名空间和类名已被检查好,没有错误。但在编译阶段,我得到了“类型未定义”的消息。

好的,然后,在iis 7控制面板中,我将整个网站文件夹从“虚拟目录”转换为“应用程序”类型。问题就消失了!

任何想法发生了什么?

回答

0

我想你没有在网站中添加该特定ddl的引用。在使用之前,您需要在网站中添加参考。

Right Click Website properties --> Click Add Reference 
1

在IIS 6中,虚拟目录的概念有点不同。在IIS7中,如果它是虚拟目录,则不是使用该文件夹中的文件编译应用程序,而是使用根网站可执行文件夹。所以 - 你的'应用'在IIS 7中需要是一个'应用程序',以便为这些资源编译和搜索bin文件夹 - 另外它只是一个虚拟目录,它是URL上的某个路径,指向“某个路径”磁盘。这些文件夹可以有它们自己的web.config,但是它们的二进制文件不会按照您期望的那样作为“单独的应用程序”来处理 - 代码被编译到父站点二进制文件中。