3 回答

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

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊
事實(shí)證明,對(duì)于 Blazor,您需要一個(gè)稍微不同的界面,即IWebAssemblyHostEnvironment
。
從此文檔中,您應(yīng)該注入的是:
@inject?IWebAssemblyHostEnvironment?HostEnvironment

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊
來自這個(gè)評(píng)論:
WASM:System.InvalidOperationException:無法為屬性“HostingEnvironment”提供值;在類型“JewelShut.Client.Pages.Index”上。沒有類型為“Microsoft.AspNetCore.Hosting.IHostingEnvironment”的已注冊(cè)服務(wù);
我猜這是一個(gè)客戶端?Blazor 應(yīng)用程序。 (如果我的猜測(cè)有誤,我很抱歉。)。在客戶端 Blazor 上,IHostingEnvironment
?默認(rèn)情況下不會(huì)在 DI 容器中注冊(cè)。該錯(cuò)誤仍然表明您嘗試注入的服務(wù)尚未注冊(cè)。注冊(cè)服務(wù):
在 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 關(guān)注
- 319 瀏覽
添加回答
舉報(bào)