部署“自包含”(不依赖于已安装的.NET Hosting捆绑包).NET Core托管的Blazor WebAssembly应用程序到IIS

时间:2020-08-18 15:40:08

标签: blazor-webassembly asp.net-core-hosted-services

*注意,我早些时候问过这个问题,它已被关闭,因为它被认为是该问题的重复 asp.net core web api published in IIS after moved to different IIS server pc gives error 500.19 (0x8007000d)

但是,这个问题和我得到的一个答案是关于安装.NET Core Hosting Bundle,我认为这并不适用,因为这是“自包含”的部署。我想念什么吗? 所以,再次...

我已经开发了Blazor WebAssembly应用程序,该应用程序将在我们的Intranet上运行Windows 2012的服务器上使用。这是针对.Net 5.0 Core托管和自包含的。我需要部署到IIS 8.5并有一些问题。

  1. 在IIS中添加网站时,是否指向带有可执行文件和web.config的根部署目录?我还需要做些什么,以便IIS在wwwroot子目录中找到索引文件?
  2. 是否只要将虚拟应用程序池的权限授予该应用程序,是否将该应用程序的部署目录直接放在inetpub下?
  3. 发布任务创建了一个很大的BlazorDebugProxy目录。这是要发布的,所以我不明白为什么要创建它。有办法防止这种情况发生吗?

搜索了几个小时后,我尽力进行了设置。我发现帖子中包含一些相关信息,但没有任何内容显示如何为自包含应用程序设置IIS或回答我上面的其他问题。

请注意,当我尝试从IIS浏览到站点时,得到500.19“无法访问请求的页面,因为该页面的相关配置数据无效。”我尚未对文件进行任何更改,因为它是由发布过程创建的。是:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath=".\AppName.Server.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
    </system.webServer>
  </location>
</configuration>
<!--ProjectGuid: 60862cf1-bea8-48f4-8ae9-270f2f537927-->

0 个答案:

没有答案