我已经在ASP.Net中下载了在线项目。运行应用程序时出现错误
在应用程序级别之外使用注册为allowDefinition ='MachineToApplication'的节是错误的。此错误可能是由于未在IIS中将虚拟目录配置为应用程序引起的。
我应该在web.config或其他地方进行哪些更改才能使其正常工作?
我已经在ASP.Net中下载了在线项目。运行应用程序时出现错误
在应用程序级别之外使用注册为allowDefinition ='MachineToApplication'的节是错误的。此错误可能是由于未在IIS中将虚拟目录配置为应用程序引起的。
我应该在web.config或其他地方进行哪些更改才能使其正常工作?
Answers:
我刚刚遇到了这种“喜悦”。在发布模式下发布Web应用程序之后,它似乎呈现了出来。
始终解决我发现的问题的唯一方法是遵循以下清单:
MvcBuildViews
为到达这里true
。
刚刚碰到这篇文章,那在我身上发生了。
只是Clean
项目,错误就消失了。(必须是VS2010错误)
obj
文件夹。有时也需要删除。
当您尝试以网站形式打开项目时,会发生此错误。确定您是否已创建网站或项目的最简单方法是检查解决方案文件夹(即代码保存位置),并查看根目录中是否有* .sln文件,如果这样做,则说明您ve创建了一个项目。
只是要添加一下,当我尝试打开一个项目时,我刚刚遇到了此错误,我从Visual Studio菜单中选择“文件”,“打开网站”,而我应该选择“文件”,“打开项目”代替。我一意识到我就脸红了:)
在Visual Studio 2013中,我花了一段时间努力解决这个问题,很容易解决,只需遵循例外说明 “虚拟目录未在IIS中配置为应用程序”的内容即可。
在我来说,我已经WebService
栽内IIS website
如此
Convert to Application
Ok
WCF已返回并正在运行。
该错误表明您正在使用的代码期望在IIS上设置虚拟目录。
查找文档并添加所需的虚拟目录。它应该是其中有一个目录web.config
(而不是根目录)。
<authentication mode="Forms"><forms name="..." loginUrl="~/Login/Login/" timeout="2880" /></authentication>
在他Web.config
的Views
而不是主干文件夹,导致了这一问题。
如果您具有启用了视图构建的MVC项目,则解决方案之一是在构建之前删除obj文件夹。添加到项目文件:
<Target Name="BeforeBuild">
<!-- Remove obj folder -->
<RemoveDir Directories="$(BaseIntermediateOutputPath)" />
<!-- Remove bin folder -->
<RemoveDir Directories="$(BaseOutputPath)" />
</Target>
最近的web.config更改可能在错误的web.config文件中。
<machineKey...>
已将一个属性添加到Views / web.config中。不管有多少清理和重建错误仍然存在。解决方法是将属性移到根目录/web.config中。
如果您遇到此错误
在应用程序级别之外使用注册为allowDefinition ='MachineToApplication'的节是错误的。此错误可能是由于未在IIS中将虚拟目录配置为应用程序引起的
解决方案
我在VS 2012中遇到了同样的问题。
<MvcBuildViews>false</MvcBuildViews>
如果确实有,那么一种解决方案是删除编译器生成的项目中obj文件夹的内容。
MvcBuildViews
为首先true
是如何得到错误的。
<MvcBuildViews>true</MvcBuildViews>
在我的情况下,有一个“备份”文件夹,其中包含整个网站的另一个副本。这意味着另一个web.config
,因此构建因此错误而失败。我删除了“备份”文件夹,在“调试和发布”版本中执行了“干净”解决方案,错误消失了。
可能是版本问题,例如您下载.Net framework 2.0项目并想将其打开到VS2008中,然后需要升级到最新版本,VS会在同一根目录中创建该文件夹的备份。在这里得到答案。
显然,在我的解决方案中有两个web.config文件。我正在使用MVC4,并且在“视图”下还有另一个配置文件,而我在错误的文件中进行了更改。固定在那里帮助了我。
但是您始终可以在global.asax文件中更改默认的重定向/路由。
可能您在项目文件夹中有一个sub asp.net项目文件夹,该文件夹未配置为虚拟目录。设置项目以在IIS中运行。
如果在项目文件中启用了“ true”,则这个问题会更加频繁。
正如乔尼所说:
如果在某个服务器上发布网站或应用程序时遇到此问题,我使用的简单解决方案是将包含文件的文件夹转换为Web应用程序。
Convert to Application
。
我有一个网站项目。
就我而言,我已经将解决方案文件移到了另一个路径,这导致了问题。我将其还原到以前的位置,问题就解决了。
通过Visual Studio,我已经通过FTP将WCF服务发布到了外部服务器。在本地以及发布到内部服务器而不是外部服务器时,它都可以正常工作。解决方案是不提供发布 就进行发布Site Path
(换句话说,直接发布到虚拟目录的根目录)。
我不确定为什么它能工作,因为我已经尝试过通过外部FTP客户端将文件移至根目录-其他许多尝试,包括此处列出的所有尝试。也许这与发布个人资料有关,就像FabianVal一样。但是我现在不打算进行测试了,因为在所有时间都浪费在这个问题上之后,我急于加快速度。
obj
。