很多时候,我们在使用VS2005的时候,我相信,很多开发人员都是非常认真的,以至于从一开始学习起,从来就没犯什么大错误。
网站项目,一直以来都是能畅通运行的!
但是,也因为如此,每当遇到意外的问题时,却显得措手不及。
俺也是个很认真的人,网站基本没出过什么大问题,导致众多站长咨询于俺部分问题,都无法帮助解决。
今天,俺又遇到了一麻烦,通过VS2005调试网站,老提示有错误,并且,通过“网站发布”功能,无法通过,原因就是存在错误。
大体错误是这样的:
错误 1 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。
我就觉得奇怪了,我的网站从来都不发生任何错误,为什么这次偏偏出问题,就连发布网站都通过不了呢?偶最近仅仅是恢复过一次系统而已,原来备份系统的时候,就连VS2005都备份进去了,怎么可能出问题呢?
无论如何,都应该认真对待,俺分析了以上红字的错误信息,直接就不知道错误出现在哪里,呵呵,够菜吧?问题的原因何在居然全然不知,都怪俺平时比较认真,基本没有遇到大问题!
后来,百弄不得其解,网上搜索了很久,都没解决;
结果,偶不服气,将错误信息复制粘贴到记事本一看,妈呀,不得了,原来我也是不认真的人,至少不是非常认真的人,错误信息居然很多,平时仅看到以上红字部分,没有看到其它信息,错误信息,还包括以下的内容:
E:\PersonalSoftWare\MyWeb\ITWeb\Web.Config 77
不知道大家看到这里,发现问题了没有,哈哈,原因就是,网站根目录本身就存在一个Web.Config 文件;现在呢?居然连网站子目录也存在另外一个Web.Config 文件;一个网站存在两个Web.Config 文件,不发生错误还会咋滴?
解决的方法就是,删除网站子目录的另外一个Web.Config 文件,这样,问题就解决洛!以后您遇到问题,发生错误,记得像俺学习,将错误信息全部看完,省得找不到问题的原因所在!
此外,据网上说,如果存在这种错误,还需要在IIS设置网站目录的“应用程序”,具体实现方法是这样的:
打开IIS,在您的网站的虚拟目录上点击右键,执行“属性”;
之后,在打开的对话框中,切换到“虚拟目录”,进行如下设置;
①在“应用程序”右边点击“创建”按钮;
②在“执行权限”选择“纯脚本”;
③至于应用程序池,直接选择默认的“DefaultAppPool”即可。
最后点击“应用”和“确定”按钮退出,问题就解决了。