【问题标题】:MSBuild error while compiling ASP.NET website编译 ASP.NET 网站时出现 MSBuild 错误
【发布时间】:2015-09-01 16:11:08
【问题描述】:

当我尝试使用自定义构建脚本编译 asp.net 站点时出现以下错误。

error ASPCONFIG: 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.

虽然描述很详细,但我不明白它的确切含义。我还没有配置 IIS 来托管这个网站,而且我认为我不能这样做,因为我正在运行 Vista Home Basic 版本。所以网站不能使用自定义脚本构建?请回复,因为我想测试这个功能。

【问题讨论】:

标签: asp.net


【解决方案1】:

我遇到了同样的问题,最后发现我的 obj 文件夹中放置了一个流氓 Web.config……帮自己一个忙,在所有子目录中搜索 web.config 文件。我删除了它,一切都恢复正常了。

【讨论】:

  • 谢谢,这为我解决了问题。我遇到了同样的问题。我删除了 object\debug 文件夹,它又可以工作了。
  • +1 - 很好,谢谢。另请注意,如果您在转换时在项目中创建备份文件夹,则还需要删除/重命名那里的 web.config。
  • 谢谢!这让我发疯了好几个小时。我的流浪 web.config 在 /views 文件夹中。 叹息
  • @Patricia 这对于 ASP.NET MVC 来说很正常——它更有可能是通过发布创建的 obj 文件夹中的 web.config
  • @DanielO -- 我试图支持你的评论,因为这正是我遇到的问题。发布确实是问题的根源。
【解决方案2】:

obj 文件夹中的 rogue web.config 文件很可能是在您发布网站时引起的。因此,只需在完成发布后清理它即可。

【讨论】:

    【解决方案3】:

    如果在创建虚拟目录之后发生这种情况,请执行以下操作:

    • 右键单击 web.config
      • 属性
        • 构建操作:内容
        • 复制到输出目录:不要复制
    • 如果转换(适用于所有配置)
      • 属性
        • 构建操作:无
        • 复制到输出目录:不要复制

    【讨论】:

    • 第一个选项对我来说效果很好,即使我有网络配置转换。
    • 伙计,这个问题困扰了我很久。这就是问题所在!
    【解决方案4】:

    您的 web.config 文件很可能放置在不是应用程序根目录的目录中。在大多数版本的 IIS 上,您可以将网站上的任何文件夹转换为应用程序根目录:

    1. 打开 IIS 并导航到相应的文件夹
    2. 右键单击文件夹,选择属性
    3. 在应用程序设置下的应用程序名称旁边,单击创建
    4. 应用并关闭

    如果这不能解决您的问题,则可能是 IIS 或您的应用程序的另一个配置错误。

    【讨论】:

      【解决方案5】:

      在 IIS 中,转到应用程序运行所在的文件夹,右键单击它,转到属性。 在目录选项卡上,查找“应用程序设置”。点击创建按钮。

      【讨论】:

        猜你喜欢
        • 2013-04-03
        • 1970-01-01
        • 2010-11-22
        • 2012-11-04
        • 2020-02-17
        • 2022-07-16
        • 1970-01-01
        • 1970-01-01
        • 2022-01-25
        相关资源
        最近更新 更多