注册 登录
编程论坛 ASP.NET技术论坛

如何解决“在应用程序级别之外使用注册为 allowDefinition='MachineToApplication

foshan 发布于 2007-08-21 08:50, 48582 次点击
错误 1 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。 D:\myweb\YuJieSuanGenZong\WebApplication1\WebApplication1\Web.config 25

但我已将D:\myweb\YuJieSuanGenZong 虚拟目录配置为应用程序了,仍然出现上述的错误提示。如果弹出这个错误提示后仍然运行网站,也可正常运行。到底是什么问题导致的???如何解决这个问题啊???谢谢大家!
9 回复
#2
yunj11052007-08-21 09:49
你查一下你的根文件夹下,是不是有两个web.config,删掉一个就正确了
#3
foshan2007-08-21 18:01
根文件夹下没有两个web.config啊,咋办呢?
还有,根文件夹指的是哪个文件夹?是指 D:\myweb\YuJieSuanGenZong 吗?
#4
yunj11052007-08-21 18:20

你看下你项目涉及到的所有的文件夹 如果存在两个web.config 就会这样

#5
yunj11052007-08-21 18:26

一个项目中带有两个Web.config而产生了上述错误。将包含另一个Web.config的文件夹删除掉之后问题消失
这里可能还有其他问题引发的
在ASP.NET2.0中,如果根目录允许匿名用户访问,而根目录下的一个页面(如Index.aspx)必须要登录(假设登录页面为login.aspx)后才能访问,根目录下的web.config文件必须这样配置:

<?xml version="1.0"?>

<configuration>
<appSettings>
</appSettings>
<connectionStrings>
</connectionStrings>

<system.web>
<compilation debug="true"/>

<!--<authentication mode="Windows"/>-->
<authentication mode="Forms">
<forms loginUrl="login.aspx" protection="All" path="/" timeout="30"/>
</authentication>

<authorization>

<!--允许匿名-->
<allow users="?"/>

</authorization>

</system.web>


<location path="Info.aspx">
<system.web>

<!--认证项配置(在为一个单独页面指定认证信息时,authentication节只能从这个目录继承,不能单独设置)-->
<!--
<authentication mode="Forms">
<forms name=".www.cnpp.info" loginUrl="login.aspx" protection="All" path="/" timeout="30"/>
</authentication>
-->

<!--用户访问控制-->
<authorization>

<!--阻止匿名-->
<deny users="?"/>

</authorization>
</system.web>
</location>


</configuration>

也就是在需要认证的页面配置节中不能配置authentication项,只能在在根目录中配置authentication项,Info.aspx从根目录继承. 否则会出现这样的错误: "在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误 "

#6
foshan2007-08-22 09:09
谢谢!果然是“一个项目中带有两个Web.config而产生了上述错误。将包含另一个Web.config的文件夹删除掉之后问题消失”……
之前在试用 VS2008 Beta 2 后,也忘了进行什么操作,导致在文件的根目录中多了一个名 WebApplication1 的文件夹,里面就有一个 Web.config 文件。
#7
zw3798688722007-08-22 14:39

你是在版本交换时,多加了一个WebApplication1文件夹,现在你配置时将虚拟目录设置在你的解决方安根目录下,或者就像上楼说的那样改webconfig,如果成功了,通知一声,我也学习学习qq379868872

#8
2010-05-02 13:38
考,为什么我的不可以!
#9
目田美子2010-10-25 19:52
我用的是VS2008 ,建了一个网站,删了多余的Web.config,可还是出现那个错误。
#10
丫丫625202010-12-03 22:47
就是啊,没有多的web.config还是提示错误。
那位哥请教一哈错误    1    在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。    D:\my network\01\web.config    86   
1