System.AggregateException 在 ASP.NET 中发布网站时出错

System.AggregateException Error When Publishing Website in ASP.NET

我决定发布 ASP.NET MVC 项目以使用 IIS 管理器 在本地对其进行测试。因此,在打开必要的 windows 功能后,我在 IIS ManagerC:\inetpub\ 目录中新建了一个文件夹:

Visual StudioIDE我右击解决方案然后点击“发布...” 并指定目标是 "Folder":

当我点击 Next 按钮时,我在下一个 window 中指定了 "Target" 位置C.\inetpub\TechnologyArticle 目录。然后当我点击 "Publish..."Visual Studio IDE 时,我遇到了一个错误,我在 Debug 模式下未收到:

System.AggregateException: One or more errors occurred. 
---> Microsoft.WebTools.Shared.Exceptions.WebToolsException: Build failed.

---> (Inner Exception #0) Microsoft.WebTools.Shared.Exceptions.WebToolsException: Build failed.

---> Microsoft.WebTools.Shared.Exceptions.WebToolsException: Build failed.

我该如何解决这个问题?为什么我在 发布模式 中收到此错误,而我在 调试模式 中未收到此错误是由于编程原因吗?

这个错误不是由于编程引起的。此错误的原因是试图在 C:\inetpub\ 目录中发布网站,该目录由您通过 "Turn Windows 激活的服务创建可见 and/or打开或关闭功能 以在本地发布 ASP.NET 网站。用户无权修改C:\inetpub\目录。因此,当前用户对C:\inetpub\目录的修改权限必须在Windows10操作系统中手动声明

ASP.NET网站发布时,Release模式下编译的项目输出(如*.dll文件、样式文件、脚本、Views)会被解压到目标目录,所以用户必须有权写入 C:\inetpub 目录。

要解决此问题,请按照以下步骤操作:

  • 打开 C:\inetpub 文件夹的属性(选择文件夹后,使用 ALT + ENTER 快捷方式)。
  • 切换到“安全”选项卡并单击 编辑 按钮。
  • 为当前用户定义 "Full Control" 权限并单击 确定 按钮确认设置。
  • 您重复发布程序以发布您的网站。