在应用程序级别以外使用注册为 allowDefinition='MachineToApplication' 的节是错误的解决办法
2015-09-16 15:28
585 查看
"在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。"
"It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS. "
网上有不少相关的帖子,主要的解决方法如下:
解决方法1(不推荐):
在IIS将该目录做成应用程序:打开IIS —> 默认Web站点 —> 找到该目录右键打开属性页 —> 目录(或虚拟目录)卡 —> 在下半部分“应用程序设置”处点第一项的“创建”,把该目录做成应用程序。
解决方法2(不推荐):
若IIS中没有应用程序名,先创建,若还不行把C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config中的所有allowDefinition="MachineToApplication"改为allowDefinition="Everywhere"
解决方法3:
在Web.config文件中删除<authentication mode="Windows" />结点就可以了。
要注意的一点是,我们首先要理解这个错误,再视图去消除这个错,其实大部分时候是不应该用第一种和第二种解决方法去消除出错提示的,这个出错提示的出现是因为web.config中的某些节点在一个IIS应用程序中是只能设置一次的,比如<authentication>节,所以大部分时候这个错误是由于多个子目录下存在多个web.config导致的,比较谨慎的解决方法应该是仔细查看出问题目录下的web.config,剔除掉不能重复设置的节点。
附:对于DNN用户,任何子目录下被误插入了web.config文件都会导致这个错误,删除误插入了web.config文件即可解决问题。
相关文章推荐
- ios kvc
- ios Block传值
- 【转】 Android自定义捕获Application全局异常
- Android Preference技巧 持久化
- Android OnLowMemory和OnTrimMemory
- 关于OC运行时的整理
- cocos2d-x中,多个精灵执行同样的动作
- Objective-C入门10:可变字典
- 在Android Studio中打开File Explorer
- android sqlite
- Result Maps collection already contains value for ssm.orm.menu.S_MenuMapper.BaseResultMap
- 【干货】一款APP,从设计稿到切图
- Sublime插件库新成员基于APICloud快速开发跨平台App
- iOS 归档 保存对象到本地
- Android Studio 快捷键
- C# - object有哪些基本方法类有
- AppStore预览视频AppPreviews制作总结
- iOS开发之锚点anchorPoint
- ListView中android:entries属性只能设置为string-array对象
- Android Studio 中文乱码