0

错误消息:“在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的部分是错误的。此错误可能是由于虚拟目录未在 IIS 中配置为应用程序造成的。”

这是我在 Visual Studios Express 2012(用于 Web)中构建的应用程序时遇到的错误。它使用的是我最近安装到计算机上的 .Net Framework 4.5。我首先创建了一个虚拟目录并得到了这个错误。因此,我查找了可能的解决方案并完成了以下操作:

  1. 我在 VS 中清理了应用程序。没变。
  2. 我删除了 obj 文件夹。没变。
  3. 我将虚拟目录转换为应用程序。没变。

到目前为止,这些是我设法找到的唯一解决方案,但没有一个对我有用。谁能给我一些其他的想法?

4

1 回答 1

0

当 web.config 文件定义了父级已经定义的值并且不允许子级定义自己的值时,就会发生这种情况。例如,您可能在应用程序的 web.config 中有一个身份验证值“mode="Windows"”,但父级已将该值定义为“Forms”。注释掉除您的 appSettings 和 connectionStrings 之外的所有 web.config 值,然后查看该站点是否有效。如果是这样,请开始一一取消注释您已注释掉的行,以找出导致问题的部分。

编辑评论

您的 IIS 设置是问题所在。您需要仔细检查应用程序目录的位置以及应用程序(不是虚拟目录)是否已在 IIS 中正确设置。IIS 7 现在有网站、应用程序和虚拟目录。您有一个位于站点下但未正确设置为应用程序的目录。并且仅仅从站点的目录中创建一个虚拟目录并不能使它在自己的进程空间、ala 网站和应用程序中运行。

于 2013-05-31T13:56:02.500 回答