我遇到的问题是我的电脑上运行了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控制面板中,我将整个网站文件夹从“虚拟目录”转换为“应用程序”类型。问题消失!!
知道发生了什么事吗?
答案 0 :(得分:1)
在IIS 6中,虚拟目录的概念有点不同。在IIS7中,如果它是虚拟目录,则不使用该文件夹中的文件来编译应用程序,而是使用根网站可执行文件夹。所以 - 你在IIS 7中的'app'需要是一个'应用程序'才能编译和搜索bin文件夹中的那些资源 - 另外它只是一个虚拟目录,它是指向“某个路径”的URL上的某个路径磁盘。这些文件夹可以有自己的web.config,但是它们的二进制文件不会像您期望的那样处理为“单独的应用程序” - 代码被编译到父站点二进制文件中。
答案 1 :(得分:0)
我猜你没有在网站上添加该特定ddl的参考。在使用之前,您需要在网站中添加引用。
Right Click Website properties --> Click Add Reference