【发布时间】:2020-09-18 09:31:26
【问题描述】:
调用 xxxxxxxx.azurewebsites.net 时,浏览器控制台中会出现以下内容。任何人都可以帮忙。谢谢。
blazor.webassembly.js:1 System.InvalidOperationException: A suitable constructor for type 'Microsoft.Extensions.Logging.LoggerFactory' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor.
(anonymous) @ blazor.webassembly.js:1
blazor.webassembly.js:1 at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateConstructorCallSite (Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache lifetime, System.Type serviceType, System.Type implementationType, Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain callSiteChain) <0x1ef0ee0 + 0x00086> in <filename unknown>:0
(anonymous) @ blazor.webassembly.js:1
blazor.webassembly.js:1 at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.TryCreateExact (Microsoft.Extensions.DependencyInjection.ServiceDescriptor descriptor, System.Type serviceType, Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain callSiteChain, System.Int32 slot) <0x1ee9cc0 + 0x000f2> in <filename unknown>:0
(anonymous) @ blazor.webassembly.js:1
blazor.webassembly.js:1 at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.TryCreateExact (System.Type serviceType, Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain callSiteChain) <0x1ee9878 + 0x00034> in <filename unknown>:0
(anonymous) @ blazor.webassembly.js:1
blazor.webassembly.js:1 at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateCallSite (System.Type serviceType, Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain callSiteChain) <0x1ee91b0 + 0x0005a> in <filename unknown>:0
(anonymous) @ blazor.webassembly.js:1
blazor.webassembly.js:1 at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory+<>c__DisplayClass7_0.<GetCallSite>b__0 (System.Type type) <0x1ee8ce8 + 0x00010> in <filename unknown>:0
(anonymous) @ blazor.webassembly.js:1
blazor.webassembly.js:1 at System.Collections.Concurrent.ConcurrentDictionary`2[TKey,TValue].GetOrAdd (TKey key, System.Func`2[T,TResult] valueFactory) <0x1ed0ea0 + 0x0006c> in <filename unknown>:0
(anonymous) @ blazor.webassembly.js:1
blazor.webassembly.js:1 at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.GetCallSite (System.Type serviceType, Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain callSiteChain) <0x1ed0d28 + 0x00040> in <filename unknown>:0
(anonymous) @ blazor.webassembly.js:1
blazor.webassembly.js:1 at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.CreateServiceAccessor (System.Type serviceType) <0x1ed0790 + 0x00018> in <filename unknown>:0
(anonymous) @ blazor.webassembly.js:1
blazor.webassembly.js:1 at System.Collections.Concurrent.ConcurrentDictionary`2[TKey,TValue].GetOrAdd (TKey key, System.Func`2[T,TResult] valueFactory) <0x1ed0018 + 0x0006c> in <filename unknown>:0
(anonymous) @ blazor.webassembly.js:1
blazor.webassembly.js:1 at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService (System.Type serviceType, Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope serviceProviderEngineScope) <0x1ecfdd8 + 0x00024> in <filename unknown>:0
(anonymous) @ blazor.webassembly.js:1
blazor.webassembly.js:1 at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService (System.Type serviceType) <0x1ee8c18 + 0x00020> in <filename unknown>:0
(anonymous) @ blazor.webassembly.js:1
blazor.webassembly.js:1 at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService (System.IServiceProvider provider, System.Type serviceType) <0x1ecf710 + 0x00062> in <filename unknown>:0
(anonymous) @ blazor.webassembly.js:1
blazor.webassembly.js:1 at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T] (System.IServiceProvider provider) <0x1ee8b20 + 0x0001e> in <filename unknown>:0
(anonymous) @ blazor.webassembly.js:1
blazor.webassembly.js:1 at Microsoft.AspNetCore.Components.WebAssembly.Hosting.WebAssemblyHost.RunAsyncCore (System.Threading.CancellationToken cancellationToken) <0x1ee81e0 + 0x0016a> in <filename unknown>:0
(anonymous) @ blazor.webassembly.js:1
blazor.webassembly.js:1 at TakeOut.Client.Program.Main (System.String[] args) <0x1e12b18 + 0x00152> in <filename unknown>:0
(anonymous) @ blazor.webassembly.js:1
blazor.webassembly.js:1 at Microsoft.AspNetCore.Components.WebAssembly.Hosting.EntrypointInvoker.InvokeEntrypoint (System.String assemblyName, System.String[] args, Microsoft.AspNetCore.Components.WebAssembly.Hosting.SatelliteResourcesLoader satelliteResourcesLoader) <0x1d29ea8 + 0x001d6> in <filename unknown>:0
客户项目:
-PropertyGroup-
-TargetFramework-netstandard2.1-/TargetFramework-
-RazorLangVersion-3.0-/RazorLangVersion-
-ServiceWorkerAssetsManifest-service-worker-assets.js-/ServiceWorkerAssetsManifest-
-/PropertyGroup-
-ItemGroup-
-PackageReference Include="Blazored.LocalStorage" Version="2.1.5" /-
-PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="3.2.0-preview5.20216.8" /-
-PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Build" Version="3.2.0-preview5.20216.8" PrivateAssets="all" /-
-PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="3.2.0-preview5.20216.8" PrivateAssets="all" /-
-PackageReference Include="Microsoft.AspNetCore.Blazor.HttpClient" Version="3.2.0-preview2.20160.5" /-
-PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="3.1.4" /-
-/ItemGroup-
-ItemGroup-
-ProjectReference Include="..\Shared\TakeOut.Shared.csproj" /-
-/ItemGroup-
-!-- When publishing, swap service-worker.published.js in place of service-worker.js ---
-ItemGroup Condition="'$(DesignTimeBuild)' != 'true'"-
-Content Remove="wwwroot\service-worker.js" /-
-Content Update="wwwroot\service-worker.published.js" Link="wwwroot\service-worker.js" /-
-/ItemGroup-
-ItemGroup-
-Folder Include="wwwroot\Images\" /-
-/ItemGroup-
</Project>
服务器项目:
-Project Sdk="Microsoft.NET.Sdk.Web"-
-PropertyGroup-
-TargetFramework-netcoreapp3.1-/TargetFramework-
-DisableImplicitComponentsAnalyzers-true-/DisableImplicitComponentsAnalyzers-
-/PropertyGroup-
-ItemGroup-
-PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="3.2.0-preview5.20216.8" /-
-PackageReference Include="Microsoft.Azure.Cosmos" Version="3.8.0" /-
-PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.2" /-
-/ItemGroup-
-ItemGroup-
-ProjectReference Include="..\Client\TakeOut.Client.csproj" /-
-ProjectReference Include="..\Shared\TakeOut.Shared.csproj" /-
-/ItemGroup-
-/Project-
【问题讨论】:
-
对于客户端:
public static async Task Main(string[] args) { var builder = WebAssemblyHostBuilder.CreateDefault(args); builder.RootComponents.Add("app"); builder.Services.AddSingleton(new System.Net.Http.HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) }); builder.Services.AddBlazoredLocalStorage();等待 builder.Build().RunAsync(); } -
对于服务器:
public void ConfigureServices(IServiceCollection services) { services.AddControllersWithViews(); services.AddSingleton(); }
标签: azure azure-web-app-service blazor webassembly