我目前坚持的是,它说它找不到newtonsoft.json从JSON加载的类型I类型的构造函数。根据我完成的搜索,看来这是由于在发布过程中进行的修剪而无法与反射相处得很好(在此研究之前,我什至不知道发布过程比比构建过程)。我尝试使用带有JSON加载类型的组件添加TrimmerrootaSsembly,但没有明显的效果。如果我关闭使用发布的修剪,则不再发出有关修剪问题的警告,但是WebApp由于以下原因无法运行(在浏览器Dev Console中):
[mono]/__w/1/s/src/mono/mono/mono/metadata/icall.c:7096 dotnet.runtime.js:3:176301 dotnet.native.js:8:18755 您的单声道运行时和班级库是不同步的。 dotnet.native.js:8:18755 Sync of Sync库是:System.private.corelib.dll dotnet.native.js:8:18755 dotnet.native.js:8:18755 当您从GIT更新一个时,您需要更新,编译和安装Dotnet.native.js:8:18755 另一个也是。 dotnet.native.js:8:18755 除非您确定正确更新:dotnet.native.js:8:18755,请不要将其报告为错误 您可能的单声道安装损坏。 dotnet.native.js:8:18755 如果您在此消息后看到其他错误或错误,它们可能是相关的dotnet.native.js:8:18755 而且您需要先修复单声道安装。
如果可能的话,我宁愿允许修剪,但不知何故使它无法修剪我解析JSON所需的东西。我知道其他人建议更改JSON库,但是由于它在共享库中使用并完全改变该库的工作方式也会影响其他项目,但我非常宁愿不这样做(其中一些不对我的)没有人知道如何解决或解决此问题?
您可以通过调整.csproj文件中的设置来控制Blazor WebAssembly中的修剪。
修改修剪模式
dotnet publish
提出特定的组件
成员的预防修剪
使用System.Diagnostics.ecodeanalysis; void loadType([Dynamilate AccessedMembers(dynamalyalicallyAccessedMemberTypes.all)] type type){} 与Trim Analyzer<
调试<ItemGroup>
<TrimmerRootAssembly Include="Your.Assembly.Name" />
</ItemGroup>
run:
<PropertyGroup>
<EnableTrimAnalyzer>true</EnableTrimAnalyzer>
</PropertyGroup>
tovisitus