错误:allowDefinition='MachineToApplication' 超出应用程序级别
(Error: allowDefinition='MachineToApplication' beyond application level)这个问题的出现的原因是在应用程序的级别上设置了错误的allowDefinition属性。解决方法是清理项目,然后重新生成。
在Visual Studio中,有时候清理项目并不能清除obj文件夹。解决办法是手动删除obj文件夹。
有些人尝试了多种方法,包括运行不同模式下的清理操作(调试模式和发布模式),但是只有清理项目并手动删除obj文件夹才能解决问题。
这个问题在VS2013SP1中依然存在,但是通过简单的清理操作就可以重新部署。
在VS2012中,清理操作并不能解决问题,唯一的方法是手动删除构建文件夹。
有人尝试了使用清理操作删除obj文件夹,但是没有成功。他们通过在文件资源管理器中打开文件夹并手动删除obj文件夹来解决问题。
上面提到的帖子已经无法访问了,但是根据URL的修正,这篇帖子只是指出需要在项目上运行清理操作。
出现(Error: allowDefinition='MachineToApplication' beyond application level)错误的原因是在应用程序的级别上设置了错误的allowDefinition属性。解决方法是清理项目并手动删除obj文件夹。以上是一些开发者们尝试的解决方法。
(Error: allowDefinition='MachineToApplication' beyond application level)这个问题出现的原因是web应用程序在发布模式下时出现的。解决方法是按照以下步骤操作:
1. 在发布模式下清理解决方案。
2. 在调试模式下清理解决方案。
3. 在调试模式下构建解决方案。
这是我唯一测试成功的方法。在解决这个问题之前,我还遇到了其他错误,但它们与这个问题无关。我将MvcBuildViews
设置为true
后找到了这个解决方法。
另外,我认为这个方法之所以对我有效,是因为我最近一次构建的模式是调试。我打开解决方案,进行了一个错误修复,并尝试在发布模式下构建。在发布模式下进行清理无效,但在调试模式下进行清理有效(可能需要调试和发布模式的组合,即清除任何旧的dll引用,无论是调试还是发布模式)。
我进行了一次清理,然后转到*项目属性 -> Web -> 创建虚拟目录,问题就解决了。
对我来说,只需要在调试模式下进行清理和重新构建就可以了,不需要在发布和调试之间来回切换。但是,确实需要进行清理。这是关键。
为什么这个答案没有被标记为正确的解决方法呢?在我今天遇到一个出现严重问题的VS2015项目时,它拯救了我。至少它有最高的投票数...
也许这对那些没有运行.Net应用程序的人有所帮助。我在我的HTML/JavaScript Web应用程序中使用Visual Studio,而且我的工作笔记本电脑上没有IIS访问权限。所以,在运行起始页之前,去网站 -> 启动选项 -> 构建,选择“不构建”,可以避免出现这个错误。由于它不是一个.Net应用程序,在运行之前我不需要进行构建。
在将Web应用程序部署到互联网上后,当我想要进入管理员页面(/umbraco)时,出现了相同的错误。请访问我的问题:stackoverflow.com/q/40923344/1817640.
我在一个外部网站上创建了一个子文件夹,并将我的Web API文件/文件夹放在其中,该文件夹也有一个Web.config文件。有什么想法吗?
在我的情况下,没有可用的清理选项,这是我从以前的同事那里继承的一个非常古老的VB.NET应用程序。