分享

“在应用程序级别之外使用注册为~”的错误(转)_下雨天

 昵称42351 2007-09-16
在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的
今天在vs2005下调试某程序时,出现如下错误:在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。
如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。
在网上找了很多帖子,找原因。有的说
1、若IIS中没有应用程序名,先创建,若还不行把C:\WINDOWS\ Microsoft.NET\work\v2.0.50727\CONFIG\machine.config中的所有allowDefinition= "MachineToApplication"改为allowDefinition="Everywhere"
2、在网站对应的虚拟目录上右键,选属性,然后在应用程序名后点创建。
我按他们说的找没找到,最终我理解就是 把你的虚拟目录指向web.config所在在文件夹,因为 web.config 的某些配置节只能出现在网站的虚拟目录跟目录中。
 
关于“在应用程序级别之外使用注册为 allowDefinition='MachineToApplication'”的错误
 起因:要让一个web程序的根目录下的文件可以自由访问,admin目录下的文件只有通过验证后的用户才能访问。
 
用VS2005+asp.net2.0调试时,在根目录下的一个子目录(即:admin) 的web.config文件里配置了 运行时发生错误:
错误 21 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。
如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。
E:\Program Files\vs2005project\webapp1\admin\Web.config 12 原因:Machine.config里的allowDefinition="MachineToApplication"。
 解决1:把allowDefinition设为:Everywhere。考虑到最好不要改动Machine.config文件,否则可能会引起其他错误。
解决2: 是应用级别的,不能在子目录级别的web.config内 设置,把它放在应用级别的web.config里,在子目录下用节来控制访问。 即: 根目录下的web.config: 其它的情况我也不熟悉,希望大家把这方面遇到的问题总结一下。有时候遇到莫名其妙的问题,半天不能解决,很恼火的。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多