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

kja*_*kum 23 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.
Run Code Online (Sandbox Code Playgroud)

虽然详细描述但我不明白它究竟意味着什么.我没有配置IIS来托管这个网站,我认为我无法运行Vista Home Basic版本.所以网站无法使用自定义脚本构建?请回复,因为我想测试此功能.

Jas*_*ker 48

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

  • 谢谢,这确实解决了我的问题.我遇到了同样的问题.我删除了对象\ debug文件夹,它再次起作用. (4认同)
  • +1 - 很好,谢谢.另外请注意,如果在转换时在项目中创建备份文件夹,则还需要删除/重命名web.config. (4认同)
  • @Patricia这对于ASP.NET MVC来说是正常的 - 它更可能是通过发布创建的obj文件夹中的web.config (4认同)

Dan*_*l O 15

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


小智 5

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

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


Kar*_*der 4

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

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

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