从bin文件asp.net vb.net虚拟目录导入类的问题

时间:2011-07-04 04:27:27

标签: asp.net vb.net iis-7

我遇到的问题是我的电脑上运行了iis 7。 在根文件wwwroot中,我有一个网站文件夹,即[apex],它是一个虚拟目录。在该文件夹中是一个bin文件夹,其中包含带有命名空间的已编译类。

然后在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控制面板中,我将整个网站文件夹从“虚拟目录”转换为“应用程序”类型。问题消失!!

知道发生了什么事吗?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

Right Click Website properties --> Click Add Reference