无法找到要稍后延迟加载的“Software1.dll;Software2.dll”。确认包含项目或包引用,并且引用为 u

问题描述 投票:0回答:1

在 WebAssembly 项目中,我创建了两个 Razor 类库

Software1
Software2
,并在主客户端应用程序中添加了对这两个库的引用。

我还将这些添加到我客户的项目文件中:

<ItemGroup>
  <BlazorWebAssemblyLazyLoad Include="Software1.dll"></BlazorWebAssemblyLazyLoad>
  <BlazorWebAssemblyLazyLoad Include="Software2.dll"></BlazorWebAssemblyLazyLoad>
</ItemGroup>

但是当我构建项目时失败并显示消息:

 Error  BLAZORSDK1001   Unable to find 'Software1.dll;Software2.dll' to be lazy loaded 
later. Confirm that project or package references are included and the reference is used in 
the project.    OTS.UI.Client   C:\Users\..\.nuget\packages\microsoft.net.sdk.webassembly.pack\8.0.0\build
\Microsoft.NET.Sdk.WebAssembly.Browser.targets  372 

当我删除

<ItemGroup>
时,重建成功,并且
Software1.dll
Software2.dll
位于 bin 文件夹中,但是当
<ItemGroup>
存在时,重建失败并且 bin 文件夹的 .net8 文件夹为空。如何纠正这个问题?

assembly lazy-loading blazor-webassembly razor-class-library
1个回答
0
投票

在 .NET 8 中,托管 dll 传递到浏览器的方式发生了变化。提供 .dll 文件会导致某些防病毒软件出现问题。我们将默认扩展名(和内部格式)更改为 .wasm,并且 blazor 延迟加载需要更改文件扩展名。

请在 CSProj 文件中使用这两行。

<ItemGroup>
  <BlazorWebAssemblyLazyLoad Include="Software1.wasm"></BlazorWebAssemblyLazyLoad>
  <BlazorWebAssemblyLazyLoad Include="Software2.wasm"></BlazorWebAssemblyLazyLoad>
</ItemGroup>

您可以在这里找到链接。 https://github.com/dotnet/runtime/issues/92965

© www.soinside.com 2019 - 2024. All rights reserved.