这个问题是调试从服务器拷贝过来的网站时遇到。
网站目录结构大致如下:
一般情况下我们的网站都是只有一个Web.config文件。
很明显在上图中WebSite5下面有个Web.config文件,在A文件夹下也有个Web.config文件。
把WebSite5在IIS管理器中添加为网站后,Default.aspx是能正常打开。可打开A_Default.aspx或者它目录下的B_Default.aspx时,就提示了如下错误(用VS2012调试,也是报同样的错):
网上有说修改A目录中Web.config文件的<authentication mode="Windows" />,但是我这个不适用,没有成功。
于是又仔细阅读了错误提示:在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。
所以就大胆尝试了下,直接把A目录也在IIS管理器中添加成了一个网站。这样A目录就也是一个Web应用程序了。
功夫不负有心人,将A目录添加为网站后,从IIS管理器中再打开A_Default.aspx和B_Default.aspx都没有问题了,正常显示。
用VS2012调试时也是同样道理,直接打开A文件夹当作站点根目录,再调试就不会报错了。