簡體   English   中英

默認 Blazor PWA 項目無法托管到 IIS

[英]Default Blazor PWA project cannot be host into IIS

我使用 Visual Studio 2019 創建了一個新的 Blazor 項目(看圖片)

我檢查了 https、ASP.NET 核心托管和漸進式 Web 應用程序

默認 blazor webassembly 應用程序項目

之后,Visual Studio 創建客戶端項目、服務器項目和共享 class 項目。 我確保項目沒有錯誤,所以我編譯它並在 Visual Studio 上運行它。

之后我想將它托管到我的 IIS 中,所以我將 go 托管到服務器項目中,右鍵單擊,發布並將所有內容發布到我的發布文件夾中。

一切順利,現在我將 go 放入我的 IIS,添加新站點,以及 select 之前生成的發布文件夾的路徑(我使用端口 80 進行此測試)。

我還授予 web 配置 IIS_IUSRS 權限。

現在我在瀏覽器中輸入 localhost:80 ,然后我 go 進入等待頁面加載的無限循環,但它永遠不會加載。

瀏覽器中不會顯示任何錯誤。

所以我進入我的 IIS 管理器並說 Visual Studio 默認生成的 web 配置被視為錯誤。

我的 webconfig.xml:

<?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="dotnet" arguments=".\Funzia.Server.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
    </system.webServer>
  </location>
</configuration>
<!--ProjectGuid: 4872489F-5CAD-4DF4-BAFC-9D401F53BF48-->

我已經安裝了 ASP.NET 核心運行時包也 dotnet-hosting-2.2.2。

事實上,我可以輕松地托管服務器應用程序 blazor,零問題,但是當我嘗試發布 Blazor WebAssembly 應用程序時,它不起作用。

其他有用信息:

模塊沒有丟失。

在此處輸入圖像描述

Output 的 dotnet --info:

.NET Core SDK (che rispecchia un qualsiasi file global.json):
 Version:   3.1.301
 Commit:    7feb845744

Ambiente di runtime:
 OS Name:     Windows
 OS Version:  10.0.18363
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\3.1.301\

Host (useful for support):
  Version: 3.1.5
  Commit:  65cd789777

.NET Core SDKs installed:
  3.1.300 [C:\Program Files\dotnet\sdk]
  3.1.301 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.18 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.18 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.18 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.1.4 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 3.1.5 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

我還嘗試添加自動簽名證書並嘗試通過 https 訪問,但我遇到的結果與使用 http 相同。

更進一步,我還嘗試通過控制台發布項目,我認為也許 Visual Studio 可以創建損壞的 web 配置文件,但創建的文件是相同的。

我發現其他一些用戶也遇到了這個問題,但我還沒有找到任何解決方案。

有什么建議么?

您可以嘗試以下步驟在 iis 上發布 Blazor WebAssembly 應用程序。 我測試它可以在我的電腦上正常工作。

要在 iis 中發布 blazor 應用程序,首先確保您安裝了 iis 功能。 在此處輸入圖像描述

  • .NET 核心托管包
  • ASP.NET 核心運行時

根據您的版本下載並安裝運行時和托管包。 安裝托管包后不要忘記重新啟動機器。

現在看一下位於屏幕左側的解決方案資源管理器選項卡。 右鍵單擊解決方案的服務器項目,即 BlazorDDL.Server。 點擊發布。 在此處輸入圖像描述

您將看到一個新屏幕。 在左側菜單中,單擊文件夾。 選擇要將 Blazor 應用程序發布到的文件夾。單擊發布。 如果沒有錯誤,您的應用程序將成功發布。

在此處輸入圖像描述

接下來,您必須配置 IIS。 在此處輸入圖像描述

你必須配置應用程序池。 您會在左側面板中找到它。 雙擊池ankisite。將出現編輯應用程序池window。 從 .NET CLR 版本下拉列表中,選擇無托管代碼選項。 在此處輸入圖像描述

我通過將我的應用程序托管到 Azure 解決了這個問題。

我認為我的自動簽名證書有問題。 此外,我的 Windows 功能 windows 缺少一些功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM