飘零纷飞

有志者,事竟成,破釜沉舟,百二秦关终属楚. 苦心人,天不负,卧薪尝胆,三千越甲可吞吴.

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
5从其他机器的一个程序在本机打开,报错提示为“在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。”
解决方法:
方法1、这个错误是由于没有设置网站的虚拟目录,最有效的解决办法是在IIS中把网站直接配置成站点

方法:在IIS里,点击你源码的虚拟目录,右键-》属性-》应用程序名-》创建
即:web.config要在站点的根目录下
如果是在VS中按F5出现这个错误,要修改一下sln文件中站点的路径。
建议:直接在IIS下配置站点,而不要VS中调试
注意:要在站点的根目录下建立虚拟目录,如果还是解决不了问题 建立站点(或者把站点根目录指向当前程序根目录,即web.config所在目录)

方法2、有时候还是不能用,可以尝试一下这种方法。
先装了.NET 2005 , 后装IIS, 程序在.NET下运行正常, 在IIS里报错:
服务器应用程序不可用
解决方法:
cmd 到 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727Y4ZG
运行 aspnet_regiis.exe空格-i
会显示开始安装 ASP.NET , 安装完毕后问题解决.

方法3、虚拟目录指向web.config所在在文件夹,因为web.config的某些配置节只能出现在网站的虚拟目录跟目录中。移除多余的留一个即可。

方法4、若IIS中没有应用程序名,先创建,若还不行把C:\WINDOWS\Microsoft.NET\work\v2.0.50727\CONFIG\ machine.config中的所有allowDefinition="MachineToApplication"改为allowDefinition="Everywhere",慎用,有时候改了可能会报其他错。

方法5、把你的虚拟目录指向web.config所在在文件夹,因为web.config的某些配置节只能出现在网站的虚拟目录跟目录中。

其他:如果使用iis调试,需要将网站或者虚拟目录设置为 应用程序,在iis属性里可以设置的
缺少引用,最好再检查一下代码。

posted on 2009-08-21 13:06  马前卒  阅读(20505)  评论(2编辑  收藏  举报