@alexmclean,
Well, we conducted some tests to check the possibility to use Aspose.Cells .NetStandard lib in a Blazor project.
Test 1 (Following your steps):
dotnet new -i Microsoft.AspNetCore.Blazor.Templates::3.0.0-preview9.19424.4
dotnet new blazorwasm -o AsposeOnBlazor
cd AsposeOnBlazor
dotnet add package Aspose.Cells
dotnet build
Then we get the error:
Fatal error in IL Linker
Unhandled Exception: Mono.Cecil.ResolutionException: Failed to resolve System.Security.Permissions.PermissionSetAttribute
But “System.Security.Permissions.PermissionSetAttribute” is needed in Aspose.Cells lib. Now we use it in AssemblyInfo. And, this property also exists in .NetStandard interface, I am afraid, now we have no idea why this standard property causes this IL Linker error.
Test 2 (We only use System.Drawing.common lib):
dotnet new blazorwasm -o AsposeOnBlazor2
cd AsposeOnBlazor2
dotnet add package System.Drawing.common
dotnet build
Then we again get the error:
Fatal error in IL Linker
Unhandled Exception: Mono.Linker.MarkException: Error processing method: ‘System.Void System.Drawing.Bitmap::.ctor(System.Drawing.Image,System.Drawing.Size)’ in assembly: ‘System.Drawing.Common.dll’ —> Mono.Cecil.ResolutionException: Failed to resolve System.Drawing.Size
As Micorsoft supports drawing functions in .NetStandard by using System.Drawing.common, now Aspose.Cells also needs to call it for drawing activities. But then we create an empty Blazor project, only add System.Drawing.common from Nuget, we also get the IL Linker error.
So, we doubt that, maybe now Blazor project does not support .NetStandard very well. As we know,
“System.Security.Permissions.PermissionSetAttribute” is a property that exists in .NetStandard interface. Also, “System.Drawing.common” is a nuget package develop by Micorsoft for .NetStandard drawing. So, would you please check it again in your develop. environment, to see if it will cause the same error? If it does, we think now it is very hard to support Blazor project. Anyway, we will keep an eye on it to see if .NetCore 3.0 official version will improve this.