asp.net-mvc - 从 VS2010 发布时出现allowDefinition ='MachineToApplication'错误(但仅在之前的构建之后)

标签 asp.net-mvc web-deployment one-click-web-publishing

我可以在本地计算机上毫无问题地运行我的 Asp.Net MVC 2 应用程序。只需运行/调试即可。

但是如果我已经构建了它,我就无法发布它!我必须清理解决方案并再次发布。我知道这不是系统关键,但这确实很烦人。 “一键发布”不是“干净的解决方案,然后一键发布”

具体错误如下:

Error 11 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.

我怀疑这与 Views 文件夹中的 Web.Config 有关,但为什么只有在我之前构建过一次之后。需要注意的是,该应用程序一旦发布就可以正常工作。

最佳答案

我的 MVC 应用程序也遇到了同样的问题。这很令人沮丧,因为我仍然希望检查我的 View ,所以我不想关闭 MvcBuildViews

幸运的是我遇到了一个post这给了我答案。将 MvcBuildViews 保持为 true,然后您可以在项目文件中添加以下行:

<BaseIntermediateOutputPath>[SomeKnownLocationIHaveAccessTo]</BaseIntermediateOutputPath>

并使该文件夹不在您的项目文件夹中。对我有用。这不是一个完美的解决方案,但目前来说是好的。确保从项目文件夹中删除 package 文件夹(位于 obj\Debug 和/或 obj\Release 文件夹内),否则您会将不断收到错误。

FWIW,MS know about this error ...

关于asp.net-mvc - 从 VS2010 发布时出现allowDefinition ='MachineToApplication'错误(但仅在之前的构建之后),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2566215/

相关文章:

azure - Visual Studio 2015 中未安装 Web 发布扩展

ASP.NET Web 应用程序 (MVC) 部署自动化和 Subversion

c# - 为每个客户定制业务规则...(asp.net mvc)

javascript - 我应该在每个页面的 ASP.net MVC 应用程序中的什么位置放置 "ng-app"指令?

asp.net-mvc - 在 ASP.NET MVC 中的 Controller 之外创建 ViewResults

maven - Spring boot应用——Tomcat部署

azure - 如何将 Ember CLI 应用程序部署到 Azure 网站

visual-studio-2012 - Visual Studio 2012 Web Deploy发布预览显示更改后的所有文件

c# - MVC 3 : DropDownList on an Edit Form for an object that is a property of a ViewModel

azure - 将App_Data文件夹部署到Azure权限不足