从本地计算机将外部DLL加载到Blazor中

时间:2020-08-04 09:24:08

标签: c# asp.net-core blazor blazor-webassembly

我正尝试在运行时将程序集加载到Blazor应用程序,如图here所示。

但是,我尝试在OnInitializedAsync()中加载程序集时遇到错误:

Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer [100] 未处理的异常呈现组件:响应状态代码不正确 表示成功:404(未找到)。 System.Net.Http.HttpRequestException:响应状态代码不 表示成功:404(未找到)。在 System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode() :0中的<0x3dd2d10 + 0x00052> 在System.Net.Http.HttpClient.GetByteArrayAsyncCore (System.Threading.Tasks.Task 1[TResult] getTask) <0x61d5a18 + 0x0010e> in <filename unknown>:0 at WebAssembly.Client.Pages.Compiler.GetDlltoBrowser (System.Collections.Generic.List 1 [T]引用)[0x0008f]在 C:\ Users \ User \ source \ repos \ CInteractiveShell-Sample \ WebAssembly \ Client \ Pages \ Compiler.razor:200 在WebAssembly.Client.Pages.Compiler.OnInitializedAsync()[0x00240] 在C:\ Users \ User \ source \ repos \ CInteractiveShell-Sample \ WebAssembly \ Client \ Pages \ Compiler.razor:47 在Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync ()<0x37a0328 + 0x0013a>在:0处 Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask (System.Threading.Tasks.Task taskToHandle)<0x3cdd890 + 0x000b6>在 :0

我的软件包参考是:

<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="3.2.1" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Build" Version="3.2.1" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="3.2.1" PrivateAssets="all" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Scripting" Version="3.7.0-4.final" />
<PackageReference Include="System.Net.Http.Json" Version="3.2.0" />

1 个答案:

答案 0 :(得分:0)

可能发生错误的地方

框架和应用代码可能会在以下任何位置触发未处理的异常:

  1. 组件实例化。
  2. 生命周期方法。
  3. 渲染逻辑。
  4. 事件处理程序。
  5. 组件处置。
  6. JavaScript互操作。
  7. Blazor服务器重新呈现

我相信您的问题必须在此得到解决。 [Handle errors in ASP.NET Core Blazor apps] 1

我最初的猜测是,生命周期方法将根据您提供的信息解决您的问题。

如果您正在寻找确切的解决方案,请分享有关快照的更多信息。