错误消息:“在应用程序级别之外使用注册为allowDefinition ='MachineToApplication'的部分是错误的。此错误可能是由于虚拟目录未在IIS中配置为应用程序而引起的。”
这是我在Visual Studio Express 2012(针对Web)中构建的应用程序所遇到的错误。它使用我最近安装到计算机上的.Net Framework 4.5。我首先创建了一个虚拟目录并得到了这个错误。所以,我查找了可能的解决方案,并完成了以下工作:
到目前为止,这些是我设法找到的唯一解决方案,但没有一个能为我工作。谁能给我一些其他想法?
答案 0 :(得分:0)
当web.config文件定义父级已定义的值且不允许子级定义自己的值时,会发生这种情况。例如,您可以在应用程序的web.config中具有“mode =”Windows“'的身份验证值,但父级已将该值定义为”表单“。注释除appSettings和connectionStrings之外的所有web.config值,并查看该站点是否有效。如果是这样,请逐一取消注释您已经注释掉的行,以找出导致问题的部分。
修改评论
您的IIS设置是问题所在。您需要仔细检查应用程序目录的位置以及是否已在IIS中正确设置应用程序(非虚拟目录)。 IIS 7现在具有网站,应用程序和虚拟目录。您有一个位于站点下但未正确设置为应用程序的目录。只是在站点目录之外创建一个虚拟目录不会使它在自己的进程空间,ala网站和应用程序中运行。