大众计算机学习网

专门提供各种电脑教程

在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的

Admin | 2009-3-15 19:26:49 | 被阅次数 | 9570

  很多时候,我们在使用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”即可。

  最后点击“应用”和“确定”按钮退出,问题就解决了。