3

我在 IIS 7.5 上配置了一个网站,如下所示。

ParentWebSite
       ---ChildWebApp
  1. ParentWebSite 是一个 Asp.Net 4.0 网站项目。
  2. ChildWebApp 是一个 Asp.Net 4.0 Web 应用程序。

当我访问以下网址时,它工作正常。

http://ParentWebSite/

当我使用以下 URL 访问 childWebApplication 时。

http://ParentWebSite/ChildWebApp

它给出了一个编译错误,显示找不到一个命名空间 (ParentWebSite.BLL)。但是该命名空间仅在 ParentWebSite 中使用,而在 ChildWebApp 中根本没有提及。

我的问题为什么我的 ChildWebApp 依赖于 ParentWebSite dll?

当两者都使用自己的应用程序池时,如果按照上述方式部署的 ChildWebApp 不是独立于 ParentWebSite 吗?

4

2 回答 2

2

失败的原因可能是在 parentWebSite web.config 中可能引用了该命名空间内的模块或处理程序或类似的东西。由于配置被继承给子应用程序,因此您的子应用程序正在尝试加载相同的命名空间,但它可能定义在父级或 /app_code/ 的 /bin 目录内的程序集中,但它们不在子级文件夹中。

因此,查看父级的 web.config 并查看是否可以找到那里引用的程序集。

如果我是对的,您可以设置 inheritInChildApplications="false" 以防止这种继承行为。

于 2010-06-22T04:37:33.937 回答
0

子应用程序是否配置为应用程序(右键单击,Convert to Application)?

于 2010-06-22T04:43:21.297 回答