Stop IL linker from stripping System.Threading.WasmRuntime. Fixes #239

This commit is contained in:
Steve Sanderson 2018-03-14 21:44:26 +00:00
parent fa54b0ab6e
commit 2176aa8c87
2 changed files with 15 additions and 0 deletions

View File

@ -143,6 +143,7 @@
<PropertyGroup Label="Build properties">
<_BlazorShouldLinkApplicationAssemblies Condition="$(BlazorLinkOnBuild) == 'false'"></_BlazorShouldLinkApplicationAssemblies>
<_BlazorShouldLinkApplicationAssemblies Condition="$(BlazorLinkOnBuild) == 'true'">true</_BlazorShouldLinkApplicationAssemblies>
<_BlazorBuiltInBclLinkerDescriptor>$(MSBuildThisFileDirectory)BuiltInBclLinkerDescriptor.xml</_BlazorBuiltInBclLinkerDescriptor>
</PropertyGroup>
<PropertyGroup Label="Blazor HTML inputs">
@ -329,6 +330,7 @@
<Target Name="_CollectBlazorLinkerDescriptors">
<ItemGroup Condition="@(BlazorLinkerDescriptor) == ''">
<BlazorLinkerDescriptor Include="$(_BlazorBuiltInBclLinkerDescriptor)" />
<BlazorLinkerDescriptor Include="$(GeneratedBlazorLinkerDescriptor)" />
<FileWrites Include="$(GeneratedBlazorLinkerDescriptor)" />
</ItemGroup>

View File

@ -0,0 +1,13 @@
<linker>
<!-- This file specifies which parts of the BCL or Blazor packages must not be stripped
by the IL linker even if they are not referenced by user code. The file format is
described at https://github.com/mono/linker/blob/master/linker/README.md#syntax-of-xml-descriptor -->
<assembly fullname="mscorlib">
<!-- Preserve all methods on WasmRuntime, because these are called by JS-side code
to implement timers. Fixes https://github.com/aspnet/Blazor/issues/239 -->
<type fullname="System.Threading.WasmRuntime" />
</assembly>
</linker>