我在 IIS 中有一个网站,我希望在同一个 IIS 网站下托管版本 2、3.5 和 4 的应用程序。这可能吗?
认为它会像修改 web.config 一样简单。到目前为止,我在根目录上创建了一个 ASP.NET 3.5 站点。然后我在下面创建了一个目录并部署了一个 ASP.NET 2.0 站点。到目前为止,当我查看 3.5 站点时,它看起来很好。但是,2.0 站点,当我浏览到目录的 default.aspx 时,我得到:
说明:解析服务此请求所需的资源时出错。请查看以下特定的解析错误详细信息并适当修改您的源文件。
有什么想法吗?
谢谢。
更新以显示完整错误(不确定是否有帮助)
最佳答案
每个 Web 应用程序都需要单独的 IIS 应用程序。巧合的是,单独的应用程序可以具有单独的应用程序池,而这些应用程序池又可以具有单独的 .NET 框架版本。
但这不是你的问题
就您的应用而言,您在使用相同版本的 .NET (CLR 2.0) 的 .NET 2.0 Web 应用和 .NET 3.5 Web 应用时遇到问题。您看到的问题是因为子应用程序未标记为单独的应用程序,因此运行时在错误的位置查找程序集以加载您的类型。
您的网站内容可能如下所示:
root (~/)
- bin
* app.dll
- sub-app
- bin
* subapp.dll
当子应用程序运行时,它试图加载类型 Second.Namespa._Default,但程序集路径是 ~/bin (root/bin),它不包含正确的程序集。如果您在 IIS 中将子应用程序标记为自己的应用程序,您将得到:
root (~/)
- bin
* app.dll
- sub-app (~/ again for anything below)
- bin
* subapp.dll
现在加载 Second.Namespa._Default 将在 ~/bin (现在是 sub-app/bin)中查找,并找到正确的程序集并能够加载类型。
关于asp.net - 一个 IIS 网站可以托管多个不同 ASP.NET 版本的 Web 应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9897890/