为什么使用“在应用程序级别之外注册为allowDefinition ='MachineToApplication'的部分”会出错?

时间:2016-12-09 23:42:05

标签: asp.net web-config

我有一个ASP.NET项目/站点构建并且之前运行;没有代码更改,现在它没有。我重新启动了Visual Studio,甚至重新启动了计算机,但没有区别。现在,如果我选择Build Project或Build Website,我会得到:

Error   1   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.  C:
\MembersOrderEntryRedux\MembersOrderEntry\MembersOrderEntry\Mobile\web.config   58

......这就是这一行:

<authentication mode="Windows"/>

...在\ Mobile \ web.config

我看了this,但没有帮助 - 由于某种原因,一些建议的修复和解决方法不适用于我的项目/网站(ASP.NET 3.5) - 我没有OBJ文件夹,我的web.config文件不公开那里讨论的属性等。

是否有人知道什么会导致正在运行的项目不再构建并以这种方式抛出错误?我改变的唯一事情(在出现此问题之后)是检查Configuration Manager中的“Build”复选框(即使解决方案只有一个项目,但由于某种原因未选中)。

注意:项目的“Mobile”文件夹有一个“bin”子文件夹,它包含一个名为App_Web_9m76tru72.dll

的大量DLL

这些是什么,它们属于那里吗?

1 个答案:

答案 0 :(得分:0)

在我的特定情况下,我不得不排除那些让编译器符合条件的东西

排除了“Mobile”文件夹下的所有这些文件(其中包含/第二个web.config文件,还有一个名为.db的名称为“app_Web_2zzrae4.dll”等的“bin”文件夹。)

Default.aspx
Default.aspx.vb
Default_Old.apsx
web.config

我也做了以下工作,这可能有助于项目/现场的最终修复:

Deleted the website.publishproj file
Deleted the *.suo file[s]
Removed TFS entries from .sln file

更新

基于我发现here的内容,只需更改抛出此文件的名称(从web.config到mobileweb.config)就可以使用它。