编译ASP.NET网站时出现MSBuild错误

时间:2009-02-06 18:47:35

标签: asp.net

当我尝试使用自定义构建脚本编译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版本。所以网站无法使用自定义脚本构建?请回复,因为我想测试此功能。

5 个答案:

答案 0 :(得分:48)

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

答案 1 :(得分:15)

当您执行发布网站时,最有可能导致obj文件夹中的流氓web.config文件。所以只需在完成发布后进行清理。

答案 2 :(得分:5)

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

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

答案 3 :(得分:4)

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

  1. 打开IIS并导航到相应的文件夹
  2. 右键单击该文件夹,选择属性
  3. 在“应用程序设置”下,单击“应用程序名称”旁边的创建
  4. 申请并关闭
  5. 如果这不能解决您的问题,则可能是IIS或您的应用程序出现了其他配置错误。

答案 4 :(得分:0)

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