昨天运行一个.NET网站项目时,出现了以下问题:
在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果
在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。
源程序错误:
<authentication
mode="Windows">
</authentication>
这个项目尚未完成,还需继续努力,但弹出了这个错误,十分恐慌。这个项目之前运行过,好好的
从来没有出现过这个问题。上网找了大半天,整合网上说的,有两种原因:
1、IIS的配置问题,可能就如错误提示上说的,IIS中没有将虚拟目录配置为应用程序。
2、项目中出现了多个web.config文件(一个项目只能有一个web.config文件)
根据这两个原因,我进行了纠错,这过程可真是折腾啊!
首先,我按照网上说的去配置IIS,可是配了N遍,千辛万苦,还是搞不好。放弃了,针对另一个原
因纠错。我把其中一些web.config文件删了,只剩下一个,可是运行时又弹出别的问题。又折腾了
一番,还是搞不定。
艰难重重,最后皇天不负有心人,终于搞定了!
原来问题出在我运行项目时,使用的VS版本不同,原先低版本的项目要
转为高版的,转换时在项目的目录下做了原先版的备份(一般备份的文
件名为backup),导致多一了个web.config文件。单单删去web.config
文件不行,要把整个备份删除或者移到别的地方。我就把那个backup删
掉,再次运行项目就没有问题了。
问题就是出现在web.config文件上,若几经折腾确实解决不了,还有一个不是办法的办法:
重新建一个项目,把必要的文件导进去,不要web.config文件(没有web.config,项目运行时会自
动生成一个),操作正确的话应该就没什么问题了,不过本人没试过,不知是否真的可行。
其实这只是个小问题,就这么被折腾了一番,真有够呛的。希望能帮到遇到同样错误的人,不要给
这个小问题折腾了。当然也有可能是其他原因导致的错误,这里只是解决我个人出错的原因导致的
错误。