3 回答

TA貢獻1874條經驗 獲得超12個贊
更新:
該錯誤來自 WebAssembly,因此它是一個客戶端應用程序??蛻舳松蠜]有 HostingEnvironment,因此服務未注冊。如果是的話那就沒什么用了。
所以,退一步:為什么(你認為)你需要它?
您應該將其設為受保護或公共讀/寫屬性:
// in IndexComponent
[Inject]
protected IHostingEnvironment HostingEnvironment { get; set; }
并刪除構造函數參數。
旁注:IHostingEnvironment 已標記為已過時。

TA貢獻1911條經驗 獲得超7個贊
事實證明,對于 Blazor,您需要一個稍微不同的界面,即IWebAssemblyHostEnvironment
。
從此文檔中,您應該注入的是:
@inject?IWebAssemblyHostEnvironment?HostEnvironment

TA貢獻1830條經驗 獲得超9個贊
來自這個評論:
WASM:System.InvalidOperationException:無法為屬性“HostingEnvironment”提供值;在類型“JewelShut.Client.Pages.Index”上。沒有類型為“Microsoft.AspNetCore.Hosting.IHostingEnvironment”的已注冊服務;
我猜這是一個客戶端?Blazor 應用程序。 (如果我的猜測有誤,我很抱歉。)。在客戶端 Blazor 上,IHostingEnvironment
?默認情況下不會在 DI 容器中注冊。該錯誤仍然表明您嘗試注入的服務尚未注冊。注冊服務:
在 Startup.cs 中:
public void ConfigureServices(IServiceCollection services)
{
? ? //few sample for you
? ? services.AddScoped<AuthenticationStateProvider, ApiAuthenticationStateProvider>();
? ? services.AddAuthorizationCore();
? ? //register the required services
? ? //services.Add...
}
- 3 回答
- 0 關注
- 295 瀏覽
添加回答
舉報