ASP.Net - 在应用程序级别之外使用注册为allowDefinition ='MachineToApplication'的部分是错误的

时间:2013-11-20 21:39:44

标签: asp.net iis iis-6 windows-server-2003

在我们的开发环境中运行的Intranet应用程序上出现此错误,我不知道该去哪里/寻找解决方案。该应用程序过去工作正常,但它与另一个开发团队在共享服务器上运行,我们无法跟踪错误(我的团队没有对应用程序进行更新,它突然停止工作)。

我们正在运行Windows Server 2003和IIS 6.0。但是,如果我在我的机器上打开解决方案,我收到Visual Studio解决方案中的错误指向web.config中的这一行,但我相信这是一个相对标准的设置,我们实际上在另一个环境中运行(同一台服务器) / IIS设置)

<authentication mode="Windows" />

错误读取

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.

我还更改了服务器上web.config的<system.web>部分以包含<customErrors mode="Off"/>,但奇怪的是,当我导航到该网站时,我仍然收到自定义错误页面。

我是IIS的新手,从未使用过Windows Server 2003.有人可以帮我指出正确的方向,以获取实际错误,以便在浏览器中显示或如何修复Visual Studio提供给我的错误?

7 个答案:

答案 0 :(得分:3)

在Visual Studio中打开项目属性页面。在解决方案资源管理器中右键单击项目节点,然后单击属性查找Web选项卡,然后单击按钮以创建虚拟目录。

答案 1 :(得分:3)

在某些情况下这可能是由于您在项目中创建了另一个子文件夹并添加了另一个Web.config文件,该文件与其他Web.config文件具有相同的文件名在根文件夹中。

要解决此错误,请将新添加的Web.config文件重命名为其他名称。

enter image description here

答案 2 :(得分:2)

在我的web目录中,我有一个其他的web目录以及它自己的web.config文件。当我删除那个完整网站的子目录时,我的问题现在得到解决。

答案 3 :(得分:1)

刚出现这个问题......结果是在发布Web App时允许生成调试信息。

发布Web应用程序 - 设置 - 文件发布选项 - 发布期间预编译(true) - 配置 - 发出调试信息。 (实际应该是“省略调试信息”)

删除项目的Debug子目录并重新发布

答案 4 :(得分:0)

任何web.config应该如何在根目录中,当您没有项目的解决方案文件时,很可能会发生这种情况。关闭VS再次打开它并选择直接文件夹。注意web.config文件应位于根目录中,或者如果要在子目录中,则复制webconfig文件并在根目录中创建新的配置文件。警告:如果您在配置文件中提到任何将丢失的路径

答案 5 :(得分:0)

我遇到了这个问题。我认为我是通过修改发布配置文件中的某些设置来使其开始发生的。撤消这些设置可以解决我的问题。这是我所做的:

  • 右键单击该项目,然后发布
  • 在“发布”标签的配置行中,单击“配置”
  • 转到“设置”标签
  • 展开文件发布选项
  • 我未选中其中的所有选项。 (检查其中一些是我认为首先导致我出现问题的原因)
  • 我删除了发布目录中的bin和obj文件夹。

我有VS2017

答案 6 :(得分:0)

如果使用默认位置(即项目文件夹下的app.publish文件夹)创建发布文件夹配置文件,也会发生这种情况。然后,VS感到困惑,并认为在构建时必须协调另一个web.config。为什么Microsoft允许您像这样射击自己?将Publish FolderProfile移到另一个位置可以阻止发生该错误。