当前位置: 代码迷 >> 综合 >> 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。
  详细解决方案

在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。

热度:100   发布时间:2023-10-27 15:55:03.0

最近在IIS服务器部署站点时遇到了这样的一个问题。

由于每次有新的网站之后,都要新建一个站点为其分配新的端口,这样感觉挺不合理的,网站越来越多到最后都不记得哪个网站是哪个端口,所以我就想着能不能把所有网站项目统一放在一个文件夹下,这样就只有一个端口,访问网站时只需加上相关网站目录就可以,于是就遇到这样一个问题,一个asp.net项目访问报错。

网上找了找发现了几种解决方式:

1、删除web.config中的<authentication mode="Windows" />节点(ps:我打开web.config文件发现我的不是<authentication mode="Windows" />,而是<authentication mode="None" />。结论可想而知,这种方式我失败了)。

2、在IIS将该目录做成应用程序,步骤如下。

选中项目目录右击->转换为应用程序->点击确定->转换完成

这种方式确实可以解决,大家可以试试。

3、若IIS中没有应用程序名,先创建,若还不行把C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config中的所有allowDefinition="MachineToApplication"改为allowDefinition="Everywhere" 

 

  相关解决方案