dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
15.15k stars 4.71k forks source link

net6.0 preview 4 "Entry point was not found." exception when PublishReadyToRun with old Newtonsoft.Json 9.0.1 #53520

Closed campersau closed 3 years ago

campersau commented 3 years ago

Description

Using an older version of Newtonsoft.Json 9.0.1 results in an "Entry point was not found." exception after a PublishReadyToRun publish. With the latest version 13.0.1 of Newtonsoft.Json it works correctly or when PublishReadyToRun is false.

Configuration

Regression?

Yes, with net6.0 preview 3 this worked.

Other information

csproj:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <Platform>x64</Platform>
    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0-windows10.0.19041</TargetFramework>
  </PropertyGroup>

  <PropertyGroup>
    <SelfContained>true</SelfContained>
    <PublishReadyToRun>true</PublishReadyToRun>
    <PublishSingleFile>false</PublishSingleFile>
    <PublishTrimmed>false</PublishTrimmed>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
  </ItemGroup>

</Project>

Program.cs

using System;

namespace EntryPointNotFound
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                Newtonsoft.Json.Linq.JToken token = Newtonsoft.Json.Linq.JToken.Parse("{}");
                var result = token.ToObject<object>();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + Environment.NewLine + ex.StackTrace);
            }
            Console.Read();
        }
    }
}

Publish with: dotnet publish -c Release

Console output when running the published exe:

Entry point was not found.
   at System.Collections.Generic.IEnumerable`1.GetEnumerator()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) in System.Private.CoreLib.dll:token 0x60065c5+0x5c
   at Newtonsoft.Json.Utilities.ReflectionUtils.GetFields(Type targetType, BindingFlags bindingAttr) in Newtonsoft.Json.dll:token 0x6000431+0x0
   at Newtonsoft.Json.Utilities.ReflectionUtils.GetFieldsAndProperties(Type type, BindingFlags bindingAttr) in Newtonsoft.Json.dll:token 0x6000428+0x0
   at Newtonsoft.Json.Serialization.DefaultContractResolver.GetSerializableMembers(Type objectType) in Newtonsoft.Json.dll:token 0x60004b0+0xa
   at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateProperties(Type type, MemberSerialization memberSerialization) in Newtonsoft.Json.dll:token 0x60004cc+0x0
   at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateObjectContract(Type objectType) in Newtonsoft.Json.dll:token 0x60004b2+0xe
   at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateContract(Type objectType) in Newtonsoft.Json.dll:token 0x60004c7+0xc9
   at Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContract(Type type) in Newtonsoft.Json.dll:token 0x60004af+0x38
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent) in Newtonsoft.Json.dll:token 0x60005df+0xe
   at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType) in Newtonsoft.Json.dll:token 0x6000152+0x45
   at Newtonsoft.Json.Linq.JToken.ToObject(Type objectType, JsonSerializer jsonSerializer) in Newtonsoft.Json.dll:token 0x600093e+0x11
   at Newtonsoft.Json.Linq.JToken.ToObject(Type objectType) in Newtonsoft.Json.dll:token 0x600093c+0x2c8
   at Newtonsoft.Json.Linq.JToken.ToObject[T]() in Newtonsoft.Json.dll:token 0x600093b+0x0
   at EntryPointNotFound.Program.Main(String[] args) in C:\Users\xxx\source\repos\EntryPointNotFound\EntryPointNotFound\Program.cs:line 11

Reference https://github.com/NuGetPackageExplorer/NuGetPackageExplorer/issues/1284

ghost commented 3 years ago

Tagging subscribers to this area: @eiriktsarpalis, @layomia See info in area-owners.md if you want to be subscribed.

Issue Details
### Description Using an older version of `Newtonsoft.Json` `9.0.1` results in an "Entry point was not found." exception after a `PublishReadyToRun` publish. With the latest version `13.0.1` of `Newtonsoft.Json` it works correctly or when `PublishReadyToRun` is `false`. ### Configuration * Which version of .NET is the code running on? `6.0.100-preview.4.21255.9` * What OS and version, and what distro if applicable? `win` * What is the architecture (x64, x86, ARM, ARM64)? `x64` * Do you know whether it is specific to that configuration? no ### Regression? Yes, with net6.0 preview 3 this worked. ### Other information csproj: ```xml x64 win-x64 Exe net6.0-windows10.0.19041 true true false false ```` Program.cs ```c# using System; namespace EntryPointNotFound { class Program { static void Main(string[] args) { try { Newtonsoft.Json.Linq.JToken token = Newtonsoft.Json.Linq.JToken.Parse("{}"); var result = token.ToObject(); } catch (Exception ex) { Console.WriteLine(ex.Message + Environment.NewLine + ex.StackTrace); } Console.Read(); } } } ``` Publish with: `dotnet publish -c Release` Console output when running the published exe: ``` Entry point was not found. at System.Collections.Generic.IEnumerable`1.GetEnumerator() at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) in System.Private.CoreLib.dll:token 0x60065c5+0x5c at Newtonsoft.Json.Utilities.ReflectionUtils.GetFields(Type targetType, BindingFlags bindingAttr) in Newtonsoft.Json.dll:token 0x6000431+0x0 at Newtonsoft.Json.Utilities.ReflectionUtils.GetFieldsAndProperties(Type type, BindingFlags bindingAttr) in Newtonsoft.Json.dll:token 0x6000428+0x0 at Newtonsoft.Json.Serialization.DefaultContractResolver.GetSerializableMembers(Type objectType) in Newtonsoft.Json.dll:token 0x60004b0+0xa at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateProperties(Type type, MemberSerialization memberSerialization) in Newtonsoft.Json.dll:token 0x60004cc+0x0 at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateObjectContract(Type objectType) in Newtonsoft.Json.dll:token 0x60004b2+0xe at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateContract(Type objectType) in Newtonsoft.Json.dll:token 0x60004c7+0xc9 at Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContract(Type type) in Newtonsoft.Json.dll:token 0x60004af+0x38 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent) in Newtonsoft.Json.dll:token 0x60005df+0xe at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType) in Newtonsoft.Json.dll:token 0x6000152+0x45 at Newtonsoft.Json.Linq.JToken.ToObject(Type objectType, JsonSerializer jsonSerializer) in Newtonsoft.Json.dll:token 0x600093e+0x11 at Newtonsoft.Json.Linq.JToken.ToObject(Type objectType) in Newtonsoft.Json.dll:token 0x600093c+0x2c8 at Newtonsoft.Json.Linq.JToken.ToObject[T]() in Newtonsoft.Json.dll:token 0x600093b+0x0 at EntryPointNotFound.Program.Main(String[] args) in C:\Users\xxx\source\repos\EntryPointNotFound\EntryPointNotFound\Program.cs:line 11 ``` Reference https://github.com/NuGetPackageExplorer/NuGetPackageExplorer/issues/1284
Author: campersau
Assignees: -
Labels: `area-System.Text.Json`, `untriaged`
Milestone: -
mangod9 commented 3 years ago

@dotnet/crossgen-contrib

mangod9 commented 3 years ago

Thanks @campersau to reporting this issue. I can repro it with preview4 but not with the latest from main. When you tried on the 6.0.100-preview.6.21301.1 did you compile/publish again?

campersau commented 3 years ago

@mangod9 Yes, I have also removed the bin/ and obj/ folders before I compiled / published again. Here are the json files which look like to contain the exact framework versions (using the 6.0.100-preview.6.21301.1 SDK):

EntryPointNotFound.runtimeconfig.json

{
  "runtimeOptions": {
    "tfm": "net6.0",
    "includedFrameworks": [
      {
        "name": "Microsoft.NETCore.App",
        "version": "6.0.0-preview.6.21276.13"
      }
    ]
  }
}

EntryPointNotFound.deps.json

```json { "runtimeTarget": { "name": ".NETCoreApp,Version=v6.0/win-x64", "signature": "" }, "compilationOptions": {}, "targets": { ".NETCoreApp,Version=v6.0": {}, ".NETCoreApp,Version=v6.0/win-x64": { "EntryPointNotFound/1.0.0": { "dependencies": { "Newtonsoft.Json": "9.0.1", "runtimepack.Microsoft.NETCore.App.Runtime.win-x64": "6.0.0-preview.4.21253.7", "runtimepack.Microsoft.Windows.SDK.NET.Ref": "10.0.19041.16" }, "runtime": { "EntryPointNotFound.dll": {} } }, "runtimepack.Microsoft.NETCore.App.Runtime.win-x64/6.0.0-preview.4.21253.7": { "runtime": { "Microsoft.CSharp.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "Microsoft.VisualBasic.Core.dll": { "assemblyVersion": "11.0.0.0", "fileVersion": "6.0.21.25307" }, "Microsoft.VisualBasic.dll": { "assemblyVersion": "10.0.0.0", "fileVersion": "6.0.21.25307" }, "Microsoft.Win32.Primitives.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "Microsoft.Win32.Registry.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.AppContext.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Buffers.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Collections.Concurrent.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Collections.Immutable.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Collections.NonGeneric.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Collections.Specialized.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Collections.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.ComponentModel.Annotations.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.ComponentModel.DataAnnotations.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "System.ComponentModel.EventBasedAsync.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.ComponentModel.Primitives.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.ComponentModel.TypeConverter.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.ComponentModel.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Configuration.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Console.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Core.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Data.Common.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Data.DataSetExtensions.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Data.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Diagnostics.Contracts.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Diagnostics.Debug.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Diagnostics.DiagnosticSource.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Diagnostics.FileVersionInfo.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Diagnostics.Process.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Diagnostics.StackTrace.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Diagnostics.TextWriterTraceListener.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Diagnostics.Tools.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Diagnostics.TraceSource.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Diagnostics.Tracing.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Drawing.Primitives.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Drawing.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Dynamic.Runtime.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Formats.Asn1.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Globalization.Calendars.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Globalization.Extensions.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Globalization.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.IO.Compression.Brotli.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.IO.Compression.FileSystem.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "System.IO.Compression.ZipFile.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.IO.Compression.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.IO.FileSystem.AccessControl.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.IO.FileSystem.DriveInfo.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.IO.FileSystem.Primitives.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.IO.FileSystem.Watcher.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.IO.FileSystem.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.IO.IsolatedStorage.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.IO.MemoryMappedFiles.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.IO.Pipes.AccessControl.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.IO.Pipes.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.IO.UnmanagedMemoryStream.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.IO.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Linq.Expressions.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Linq.Parallel.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Linq.Queryable.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Linq.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Memory.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Net.Http.Json.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Net.Http.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Net.HttpListener.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Net.Mail.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Net.NameResolution.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Net.NetworkInformation.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Net.Ping.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Net.Primitives.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Net.Quic.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Net.Requests.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Net.Security.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Net.ServicePoint.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Net.Sockets.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Net.WebClient.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Net.WebHeaderCollection.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Net.WebProxy.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Net.WebSockets.Client.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Net.WebSockets.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Net.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Numerics.Vectors.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Numerics.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "System.ObjectModel.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Private.CoreLib.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Private.DataContractSerialization.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Private.Uri.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Private.Xml.Linq.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Private.Xml.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Reflection.DispatchProxy.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Reflection.Emit.ILGeneration.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Reflection.Emit.Lightweight.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Reflection.Emit.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Reflection.Extensions.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Reflection.Metadata.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Reflection.Primitives.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Reflection.TypeExtensions.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Reflection.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Resources.Reader.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Resources.ResourceManager.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Resources.Writer.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Runtime.CompilerServices.Unsafe.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Runtime.CompilerServices.VisualC.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Runtime.Extensions.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Runtime.Handles.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Runtime.InteropServices.RuntimeInformation.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Runtime.InteropServices.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Runtime.Intrinsics.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Runtime.Loader.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Runtime.Numerics.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Runtime.Serialization.Formatters.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Runtime.Serialization.Json.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Runtime.Serialization.Primitives.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Runtime.Serialization.Xml.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Runtime.Serialization.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Runtime.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Security.AccessControl.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Security.Claims.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Security.Cryptography.Algorithms.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Security.Cryptography.Cng.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Security.Cryptography.Csp.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Security.Cryptography.Encoding.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Security.Cryptography.OpenSsl.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Security.Cryptography.Primitives.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Security.Cryptography.X509Certificates.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Security.Principal.Windows.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Security.Principal.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Security.SecureString.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Security.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "System.ServiceModel.Web.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "System.ServiceProcess.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Text.Encoding.CodePages.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Text.Encoding.Extensions.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Text.Encoding.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Text.Encodings.Web.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Text.Json.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Text.RegularExpressions.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Threading.Channels.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Threading.Overlapped.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Threading.Tasks.Dataflow.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Threading.Tasks.Extensions.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Threading.Tasks.Parallel.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Threading.Tasks.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Threading.Thread.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Threading.ThreadPool.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Threading.Timer.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Threading.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Transactions.Local.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Transactions.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "System.ValueTuple.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Web.HttpUtility.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Web.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Windows.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Xml.Linq.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Xml.ReaderWriter.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Xml.Serialization.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Xml.XDocument.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Xml.XPath.XDocument.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Xml.XPath.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Xml.XmlDocument.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Xml.XmlSerializer.dll": { "assemblyVersion": "6.0.0.0", "fileVersion": "6.0.21.25307" }, "System.Xml.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "System.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "WindowsBase.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "mscorlib.dll": { "assemblyVersion": "4.0.0.0", "fileVersion": "6.0.21.25307" }, "netstandard.dll": { "assemblyVersion": "2.1.0.0", "fileVersion": "6.0.21.25307" } }, "native": { "Microsoft.DiaSymReader.Native.amd64.dll": { "fileVersion": "14.28.29715.1" }, "System.IO.Compression.Native.dll": { "fileVersion": "42.42.42.42424" }, "api-ms-win-core-console-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-console-l1-2-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-datetime-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-debug-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-errorhandling-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-file-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-file-l1-2-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-file-l2-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-handle-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-heap-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-interlocked-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-libraryloader-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-localization-l1-2-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-memory-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-namedpipe-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-processenvironment-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-processthreads-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-processthreads-l1-1-1.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-profile-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-rtlsupport-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-string-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-synch-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-synch-l1-2-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-sysinfo-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-timezone-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-core-util-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-crt-conio-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-crt-convert-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-crt-environment-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-crt-filesystem-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-crt-heap-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-crt-locale-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-crt-math-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-crt-multibyte-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-crt-private-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-crt-process-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-crt-runtime-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-crt-stdio-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-crt-string-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-crt-time-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "api-ms-win-crt-utility-l1-1-0.dll": { "fileVersion": "10.0.19041.685" }, "clretwrc.dll": { "fileVersion": "6.0.21.25307" }, "clrjit.dll": { "fileVersion": "6.0.21.25307" }, "coreclr.dll": { "fileVersion": "6.0.21.25307" }, "createdump.exe": { "fileVersion": "6.0.21.25307" }, "dbgshim.dll": { "fileVersion": "6.0.21.25307" }, "hostfxr.dll": { "fileVersion": "6.0.21.25307" }, "hostpolicy.dll": { "fileVersion": "6.0.21.25307" }, "mscordaccore.dll": { "fileVersion": "6.0.21.25307" }, "mscordaccore_amd64_amd64_6.0.21.25307.dll": { "fileVersion": "6.0.21.25307" }, "mscordbi.dll": { "fileVersion": "6.0.21.25307" }, "mscorrc.dll": { "fileVersion": "6.0.21.25307" }, "ucrtbase.dll": { "fileVersion": "10.0.19041.685" } } }, "runtimepack.Microsoft.Windows.SDK.NET.Ref/10.0.19041.16": { "runtime": { "Microsoft.Windows.SDK.NET.dll": { "assemblyVersion": "10.0.19041.10", "fileVersion": "10.0.19041.16" }, "WinRT.Runtime.dll": { "assemblyVersion": "1.2.0.0", "fileVersion": "1.2.2.35031" } } }, "Microsoft.CSharp/4.0.1": { "dependencies": { "System.Collections": "4.0.11", "System.Diagnostics.Debug": "4.0.11", "System.Dynamic.Runtime": "4.0.11", "System.Globalization": "4.0.11", "System.Linq": "4.1.0", "System.Linq.Expressions": "4.1.0", "System.ObjectModel": "4.0.12", "System.Reflection": "4.1.0", "System.Reflection.Extensions": "4.0.1", "System.Reflection.Primitives": "4.0.1", "System.Reflection.TypeExtensions": "4.1.0", "System.Resources.ResourceManager": "4.0.1", "System.Runtime": "4.1.0", "System.Runtime.Extensions": "4.1.0", "System.Runtime.InteropServices": "4.1.0", "System.Threading": "4.0.11" } }, "Microsoft.NETCore.Platforms/1.0.1": {}, "Microsoft.NETCore.Targets/1.0.1": {}, "Newtonsoft.Json/9.0.1": { "dependencies": { "Microsoft.CSharp": "4.0.1", "System.Collections": "4.0.11", "System.Diagnostics.Debug": "4.0.11", "System.Dynamic.Runtime": "4.0.11", "System.Globalization": "4.0.11", "System.IO": "4.1.0", "System.Linq": "4.1.0", "System.Linq.Expressions": "4.1.0", "System.ObjectModel": "4.0.12", "System.Reflection": "4.1.0", "System.Reflection.Extensions": "4.0.1", "System.Resources.ResourceManager": "4.0.1", "System.Runtime": "4.1.0", "System.Runtime.Extensions": "4.1.0", "System.Runtime.Serialization.Primitives": "4.1.1", "System.Text.Encoding": "4.0.11", "System.Text.Encoding.Extensions": "4.0.11", "System.Text.RegularExpressions": "4.1.0", "System.Threading": "4.0.11", "System.Threading.Tasks": "4.0.11", "System.Xml.ReaderWriter": "4.0.11", "System.Xml.XDocument": "4.0.11" }, "runtime": { "lib/netstandard1.0/Newtonsoft.Json.dll": { "assemblyVersion": "9.0.0.0", "fileVersion": "9.0.1.19813" } } }, "runtime.any.System.Collections/4.0.11": { "dependencies": { "System.Runtime": "4.1.0" } }, "runtime.any.System.Diagnostics.Tools/4.0.1": {}, "runtime.any.System.Globalization/4.0.11": {}, "runtime.any.System.IO/4.1.0": {}, "runtime.any.System.Reflection/4.1.0": {}, "runtime.any.System.Reflection.Extensions/4.0.1": {}, "runtime.any.System.Reflection.Primitives/4.0.1": {}, "runtime.any.System.Resources.ResourceManager/4.0.1": {}, "runtime.any.System.Runtime/4.1.0": { "dependencies": { "System.Private.Uri": "4.0.1" } }, "runtime.any.System.Runtime.Handles/4.0.1": {}, "runtime.any.System.Runtime.InteropServices/4.1.0": {}, "runtime.any.System.Text.Encoding/4.0.11": {}, "runtime.any.System.Text.Encoding.Extensions/4.0.11": {}, "runtime.any.System.Threading.Tasks/4.0.11": {}, "runtime.win.System.Diagnostics.Debug/4.0.11": {}, "runtime.win.System.IO.FileSystem/4.0.1": { "dependencies": { "System.Collections": "4.0.11", "System.IO": "4.1.0", "System.IO.FileSystem.Primitives": "4.0.1", "System.Resources.ResourceManager": "4.0.1", "System.Runtime": "4.1.0", "System.Runtime.Extensions": "4.1.0", "System.Runtime.Handles": "4.0.1", "System.Runtime.InteropServices": "4.1.0", "System.Text.Encoding": "4.0.11", "System.Text.Encoding.Extensions": "4.0.11", "System.Threading": "4.0.11", "System.Threading.Overlapped": "4.0.1", "System.Threading.Tasks": "4.0.11" } }, "runtime.win.System.Runtime.Extensions/4.1.0": { "dependencies": { "System.Private.Uri": "4.0.1" } }, "System.Collections/4.0.11": { "dependencies": { "Microsoft.NETCore.Platforms": "1.0.1", "Microsoft.NETCore.Targets": "1.0.1", "System.Runtime": "4.1.0", "runtime.any.System.Collections": "4.0.11" } }, "System.Diagnostics.Debug/4.0.11": { "dependencies": { "Microsoft.NETCore.Platforms": "1.0.1", "Microsoft.NETCore.Targets": "1.0.1", "System.Runtime": "4.1.0", "runtime.win.System.Diagnostics.Debug": "4.0.11" } }, "System.Diagnostics.Tools/4.0.1": { "dependencies": { "Microsoft.NETCore.Platforms": "1.0.1", "Microsoft.NETCore.Targets": "1.0.1", "System.Runtime": "4.1.0", "runtime.any.System.Diagnostics.Tools": "4.0.1" } }, "System.Dynamic.Runtime/4.0.11": { "dependencies": { "System.Collections": "4.0.11", "System.Diagnostics.Debug": "4.0.11", "System.Globalization": "4.0.11", "System.Linq": "4.1.0", "System.Linq.Expressions": "4.1.0", "System.ObjectModel": "4.0.12", "System.Reflection": "4.1.0", "System.Reflection.Emit": "4.0.1", "System.Reflection.Emit.ILGeneration": "4.0.1", "System.Reflection.Primitives": "4.0.1", "System.Reflection.TypeExtensions": "4.1.0", "System.Resources.ResourceManager": "4.0.1", "System.Runtime": "4.1.0", "System.Runtime.Extensions": "4.1.0", "System.Threading": "4.0.11" } }, "System.Globalization/4.0.11": { "dependencies": { "Microsoft.NETCore.Platforms": "1.0.1", "Microsoft.NETCore.Targets": "1.0.1", "System.Runtime": "4.1.0", "runtime.any.System.Globalization": "4.0.11" } }, "System.IO/4.1.0": { "dependencies": { "Microsoft.NETCore.Platforms": "1.0.1", "Microsoft.NETCore.Targets": "1.0.1", "System.Runtime": "4.1.0", "System.Text.Encoding": "4.0.11", "System.Threading.Tasks": "4.0.11", "runtime.any.System.IO": "4.1.0" } }, "System.IO.FileSystem/4.0.1": { "dependencies": { "Microsoft.NETCore.Platforms": "1.0.1", "Microsoft.NETCore.Targets": "1.0.1", "System.IO": "4.1.0", "System.IO.FileSystem.Primitives": "4.0.1", "System.Runtime": "4.1.0", "System.Runtime.Handles": "4.0.1", "System.Text.Encoding": "4.0.11", "System.Threading.Tasks": "4.0.11", "runtime.win.System.IO.FileSystem": "4.0.1" } }, "System.IO.FileSystem.Primitives/4.0.1": { "dependencies": { "System.Runtime": "4.1.0" } }, "System.Linq/4.1.0": { "dependencies": { "System.Collections": "4.0.11", "System.Diagnostics.Debug": "4.0.11", "System.Resources.ResourceManager": "4.0.1", "System.Runtime": "4.1.0", "System.Runtime.Extensions": "4.1.0" } }, "System.Linq.Expressions/4.1.0": { "dependencies": { "System.Collections": "4.0.11", "System.Diagnostics.Debug": "4.0.11", "System.Globalization": "4.0.11", "System.IO": "4.1.0", "System.Linq": "4.1.0", "System.ObjectModel": "4.0.12", "System.Reflection": "4.1.0", "System.Reflection.Emit": "4.0.1", "System.Reflection.Emit.ILGeneration": "4.0.1", "System.Reflection.Emit.Lightweight": "4.0.1", "System.Reflection.Extensions": "4.0.1", "System.Reflection.Primitives": "4.0.1", "System.Reflection.TypeExtensions": "4.1.0", "System.Resources.ResourceManager": "4.0.1", "System.Runtime": "4.1.0", "System.Runtime.Extensions": "4.1.0", "System.Threading": "4.0.11" } }, "System.ObjectModel/4.0.12": { "dependencies": { "System.Collections": "4.0.11", "System.Diagnostics.Debug": "4.0.11", "System.Resources.ResourceManager": "4.0.1", "System.Runtime": "4.1.0", "System.Threading": "4.0.11" } }, "System.Private.Uri/4.0.1": { "dependencies": { "Microsoft.NETCore.Platforms": "1.0.1", "Microsoft.NETCore.Targets": "1.0.1" } }, "System.Reflection/4.1.0": { "dependencies": { "Microsoft.NETCore.Platforms": "1.0.1", "Microsoft.NETCore.Targets": "1.0.1", "System.IO": "4.1.0", "System.Reflection.Primitives": "4.0.1", "System.Runtime": "4.1.0", "runtime.any.System.Reflection": "4.1.0" } }, "System.Reflection.Emit/4.0.1": { "dependencies": { "System.IO": "4.1.0", "System.Reflection": "4.1.0", "System.Reflection.Emit.ILGeneration": "4.0.1", "System.Reflection.Primitives": "4.0.1", "System.Runtime": "4.1.0" } }, "System.Reflection.Emit.ILGeneration/4.0.1": { "dependencies": { "System.Reflection": "4.1.0", "System.Reflection.Primitives": "4.0.1", "System.Runtime": "4.1.0" } }, "System.Reflection.Emit.Lightweight/4.0.1": { "dependencies": { "System.Reflection": "4.1.0", "System.Reflection.Emit.ILGeneration": "4.0.1", "System.Reflection.Primitives": "4.0.1", "System.Runtime": "4.1.0" } }, "System.Reflection.Extensions/4.0.1": { "dependencies": { "Microsoft.NETCore.Platforms": "1.0.1", "Microsoft.NETCore.Targets": "1.0.1", "System.Reflection": "4.1.0", "System.Runtime": "4.1.0", "runtime.any.System.Reflection.Extensions": "4.0.1" } }, "System.Reflection.Primitives/4.0.1": { "dependencies": { "Microsoft.NETCore.Platforms": "1.0.1", "Microsoft.NETCore.Targets": "1.0.1", "System.Runtime": "4.1.0", "runtime.any.System.Reflection.Primitives": "4.0.1" } }, "System.Reflection.TypeExtensions/4.1.0": { "dependencies": { "System.Reflection": "4.1.0", "System.Runtime": "4.1.0" } }, "System.Resources.ResourceManager/4.0.1": { "dependencies": { "Microsoft.NETCore.Platforms": "1.0.1", "Microsoft.NETCore.Targets": "1.0.1", "System.Globalization": "4.0.11", "System.Reflection": "4.1.0", "System.Runtime": "4.1.0", "runtime.any.System.Resources.ResourceManager": "4.0.1" } }, "System.Runtime/4.1.0": { "dependencies": { "Microsoft.NETCore.Platforms": "1.0.1", "Microsoft.NETCore.Targets": "1.0.1", "runtime.any.System.Runtime": "4.1.0" } }, "System.Runtime.Extensions/4.1.0": { "dependencies": { "Microsoft.NETCore.Platforms": "1.0.1", "Microsoft.NETCore.Targets": "1.0.1", "System.Runtime": "4.1.0", "runtime.win.System.Runtime.Extensions": "4.1.0" } }, "System.Runtime.Handles/4.0.1": { "dependencies": { "Microsoft.NETCore.Platforms": "1.0.1", "Microsoft.NETCore.Targets": "1.0.1", "System.Runtime": "4.1.0", "runtime.any.System.Runtime.Handles": "4.0.1" } }, "System.Runtime.InteropServices/4.1.0": { "dependencies": { "Microsoft.NETCore.Platforms": "1.0.1", "Microsoft.NETCore.Targets": "1.0.1", "System.Reflection": "4.1.0", "System.Reflection.Primitives": "4.0.1", "System.Runtime": "4.1.0", "System.Runtime.Handles": "4.0.1", "runtime.any.System.Runtime.InteropServices": "4.1.0" } }, "System.Runtime.Serialization.Primitives/4.1.1": { "dependencies": { "System.Resources.ResourceManager": "4.0.1", "System.Runtime": "4.1.0" } }, "System.Text.Encoding/4.0.11": { "dependencies": { "Microsoft.NETCore.Platforms": "1.0.1", "Microsoft.NETCore.Targets": "1.0.1", "System.Runtime": "4.1.0", "runtime.any.System.Text.Encoding": "4.0.11" } }, "System.Text.Encoding.Extensions/4.0.11": { "dependencies": { "Microsoft.NETCore.Platforms": "1.0.1", "Microsoft.NETCore.Targets": "1.0.1", "System.Runtime": "4.1.0", "System.Text.Encoding": "4.0.11", "runtime.any.System.Text.Encoding.Extensions": "4.0.11" } }, "System.Text.RegularExpressions/4.1.0": { "dependencies": { "System.Collections": "4.0.11", "System.Globalization": "4.0.11", "System.Resources.ResourceManager": "4.0.1", "System.Runtime": "4.1.0", "System.Runtime.Extensions": "4.1.0", "System.Threading": "4.0.11" } }, "System.Threading/4.0.11": { "dependencies": { "System.Runtime": "4.1.0", "System.Threading.Tasks": "4.0.11" } }, "System.Threading.Overlapped/4.0.1": { "dependencies": { "Microsoft.NETCore.Platforms": "1.0.1", "System.Resources.ResourceManager": "4.0.1", "System.Runtime": "4.1.0", "System.Runtime.Handles": "4.0.1" } }, "System.Threading.Tasks/4.0.11": { "dependencies": { "Microsoft.NETCore.Platforms": "1.0.1", "Microsoft.NETCore.Targets": "1.0.1", "System.Runtime": "4.1.0", "runtime.any.System.Threading.Tasks": "4.0.11" } }, "System.Threading.Tasks.Extensions/4.0.0": { "dependencies": { "System.Collections": "4.0.11", "System.Runtime": "4.1.0", "System.Threading.Tasks": "4.0.11" } }, "System.Xml.ReaderWriter/4.0.11": { "dependencies": { "System.Collections": "4.0.11", "System.Diagnostics.Debug": "4.0.11", "System.Globalization": "4.0.11", "System.IO": "4.1.0", "System.IO.FileSystem": "4.0.1", "System.IO.FileSystem.Primitives": "4.0.1", "System.Resources.ResourceManager": "4.0.1", "System.Runtime": "4.1.0", "System.Runtime.Extensions": "4.1.0", "System.Runtime.InteropServices": "4.1.0", "System.Text.Encoding": "4.0.11", "System.Text.Encoding.Extensions": "4.0.11", "System.Text.RegularExpressions": "4.1.0", "System.Threading.Tasks": "4.0.11", "System.Threading.Tasks.Extensions": "4.0.0" } }, "System.Xml.XDocument/4.0.11": { "dependencies": { "System.Collections": "4.0.11", "System.Diagnostics.Debug": "4.0.11", "System.Diagnostics.Tools": "4.0.1", "System.Globalization": "4.0.11", "System.IO": "4.1.0", "System.Reflection": "4.1.0", "System.Resources.ResourceManager": "4.0.1", "System.Runtime": "4.1.0", "System.Runtime.Extensions": "4.1.0", "System.Text.Encoding": "4.0.11", "System.Threading": "4.0.11", "System.Xml.ReaderWriter": "4.0.11" } } } }, "libraries": { "EntryPointNotFound/1.0.0": { "type": "project", "serviceable": false, "sha512": "" }, "runtimepack.Microsoft.NETCore.App.Runtime.win-x64/6.0.0-preview.4.21253.7": { "type": "runtimepack", "serviceable": false, "sha512": "" }, "runtimepack.Microsoft.Windows.SDK.NET.Ref/10.0.19041.16": { "type": "runtimepack", "serviceable": false, "sha512": "" }, "Microsoft.CSharp/4.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-17h8b5mXa87XYKrrVqdgZ38JefSUqLChUQpXgSnpzsM0nDOhE40FTeNWOJ/YmySGV6tG6T8+hjz6vxbknHJr6A==", "path": "microsoft.csharp/4.0.1", "hashPath": "microsoft.csharp.4.0.1.nupkg.sha512" }, "Microsoft.NETCore.Platforms/1.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ==", "path": "microsoft.netcore.platforms/1.0.1", "hashPath": "microsoft.netcore.platforms.1.0.1.nupkg.sha512" }, "Microsoft.NETCore.Targets/1.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==", "path": "microsoft.netcore.targets/1.0.1", "hashPath": "microsoft.netcore.targets.1.0.1.nupkg.sha512" }, "Newtonsoft.Json/9.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-U82mHQSKaIk+lpSVCbWYKNavmNH1i5xrExDEquU1i6I5pV6UMOqRnJRSlKO3cMPfcpp0RgDY+8jUXHdQ4IfXvw==", "path": "newtonsoft.json/9.0.1", "hashPath": "newtonsoft.json.9.0.1.nupkg.sha512" }, "runtime.any.System.Collections/4.0.11": { "type": "package", "serviceable": true, "sha512": "sha512-MTBT/hu37Dm2042H1JjWSaMd8w+oPJ4ZWAbDNeLzC4ZHdqwHloP07KvD6+4VbwipDqY5obfFFy90mZYCaPDh5Q==", "path": "runtime.any.system.collections/4.0.11", "hashPath": "runtime.any.system.collections.4.0.11.nupkg.sha512" }, "runtime.any.System.Diagnostics.Tools/4.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-GJkwEYbKw7qG29QrKMIEEZEGWxC+DQboeObhaM6WPKKgwk9Od8Qt8lWhr/+5xW3FF60TdMfjjUP8Zu6Y41wIkA==", "path": "runtime.any.system.diagnostics.tools/4.0.1", "hashPath": "runtime.any.system.diagnostics.tools.4.0.1.nupkg.sha512" }, "runtime.any.System.Globalization/4.0.11": { "type": "package", "serviceable": true, "sha512": "sha512-cjJ3+b83Tpf02AIc5FkGj1vzY68RnsVHiGLrOCc5n7gpNVg1JnZrt1mcY99ykQ/wr3nCdvSP2pYvdxbYsxZdlA==", "path": "runtime.any.system.globalization/4.0.11", "hashPath": "runtime.any.system.globalization.4.0.11.nupkg.sha512" }, "runtime.any.System.IO/4.1.0": { "type": "package", "serviceable": true, "sha512": "sha512-sC7zKVdhYQEtrREKBJf4zkUwNdi6fsbkzrhJLDIAxIxD+YA5PABAQJps13zxpA1Ke3AgzOA9551JDymAfmRuTg==", "path": "runtime.any.system.io/4.1.0", "hashPath": "runtime.any.system.io.4.1.0.nupkg.sha512" }, "runtime.any.System.Reflection/4.1.0": { "type": "package", "serviceable": true, "sha512": "sha512-eKq6/GprEINYbugjWf2V9cjkyuAH/y+Raed28PJQ35zd30oR/pvKEHNN8JbPAgzYpI09TCd1yuhXN/Rb8PM8GA==", "path": "runtime.any.system.reflection/4.1.0", "hashPath": "runtime.any.system.reflection.4.1.0.nupkg.sha512" }, "runtime.any.System.Reflection.Extensions/4.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-ajAAD1MHX4KSNq/CW0d1IMlq5seVTuzTMMhA5EFWagMejfamzljIL92/wD19eK/1mPuux5nb16K4PFBYQrZOrQ==", "path": "runtime.any.system.reflection.extensions/4.0.1", "hashPath": "runtime.any.system.reflection.extensions.4.0.1.nupkg.sha512" }, "runtime.any.System.Reflection.Primitives/4.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-oKs78h11WDhCGFNpxT26IqL8Oo8OBzr6YOW0WG+R14FGaB/WDM5UHiK/jr6dipdnO8Wxlg/U48ka6uaPM6l53w==", "path": "runtime.any.system.reflection.primitives/4.0.1", "hashPath": "runtime.any.system.reflection.primitives.4.0.1.nupkg.sha512" }, "runtime.any.System.Resources.ResourceManager/4.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-hes7WFTOERydB/hLGmLj66NbK7I2AnjLHEeTpf7EmPZOIrRWeuC1dPoFYC9XRVIVzfCcOZI7oXM7KXe4vakt9Q==", "path": "runtime.any.system.resources.resourcemanager/4.0.1", "hashPath": "runtime.any.system.resources.resourcemanager.4.0.1.nupkg.sha512" }, "runtime.any.System.Runtime/4.1.0": { "type": "package", "serviceable": true, "sha512": "sha512-0QVLwEGXROl0Trt2XosEjly9uqXcjHKStoZyZG9twJYFZJqq2JJXcBMXl/fnyQAgYEEODV8lUsU+t7NCCY0nUQ==", "path": "runtime.any.system.runtime/4.1.0", "hashPath": "runtime.any.system.runtime.4.1.0.nupkg.sha512" }, "runtime.any.System.Runtime.Handles/4.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-MZ5fVmAE/3S11wt3hPfn3RsAHppj5gUz+VZuLQkRjLCMSlX0krOI601IZsMWc3CoxUb+wMt3gZVb/mEjblw6Mg==", "path": "runtime.any.system.runtime.handles/4.0.1", "hashPath": "runtime.any.system.runtime.handles.4.0.1.nupkg.sha512" }, "runtime.any.System.Runtime.InteropServices/4.1.0": { "type": "package", "serviceable": true, "sha512": "sha512-gmibdZ9x/eB6hf5le33DWLCQbhcIUD2vqoc0tBgqSUWlB8YjEzVJXyTPDO+ypKLlL90Kv3ZDrK7yPCNqcyhqCA==", "path": "runtime.any.system.runtime.interopservices/4.1.0", "hashPath": "runtime.any.system.runtime.interopservices.4.1.0.nupkg.sha512" }, "runtime.any.System.Text.Encoding/4.0.11": { "type": "package", "serviceable": true, "sha512": "sha512-uweRMRDD4O8Iy8m4h1cJvoFIHNCzHMpipuxkRNAMML6EMzAhDCQTjgvRwki7PlUg8RGY1ctXnBZjT1rXvMZuRw==", "path": "runtime.any.system.text.encoding/4.0.11", "hashPath": "runtime.any.system.text.encoding.4.0.11.nupkg.sha512" }, "runtime.any.System.Text.Encoding.Extensions/4.0.11": { "type": "package", "serviceable": true, "sha512": "sha512-3n6qbf59NMgA7F9S+q9gmqFV7T/CtAZw2pa6aprfdZxUinR2mDvVchsgthoacpQvAQu6e3ok8WWeypSu/yjXrA==", "path": "runtime.any.system.text.encoding.extensions/4.0.11", "hashPath": "runtime.any.system.text.encoding.extensions.4.0.11.nupkg.sha512" }, "runtime.any.System.Threading.Tasks/4.0.11": { "type": "package", "serviceable": true, "sha512": "sha512-CEvWO0IwtdCAsmCb9aAl59psy0hzx+whYh4DzbjNb0GsQmxw/G7bZEcrBtE8c9QupNVbu87c2xaMi6p4r1bpjA==", "path": "runtime.any.system.threading.tasks/4.0.11", "hashPath": "runtime.any.system.threading.tasks.4.0.11.nupkg.sha512" }, "runtime.win.System.Diagnostics.Debug/4.0.11": { "type": "package", "serviceable": true, "sha512": "sha512-q8Fm954ezFLfmG0tHNUmsNy+qaEjWtWqYhWh3cGSVjtJwkcBsfigWCh+fdaIVZ9K7m+6lgb3ElL2BBU6G+RijA==", "path": "runtime.win.system.diagnostics.debug/4.0.11", "hashPath": "runtime.win.system.diagnostics.debug.4.0.11.nupkg.sha512" }, "runtime.win.System.IO.FileSystem/4.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-4FG9RK8J5CsUpXjkiZWS07aJu+H+vTIeQkFKXyjwibfBedUM168SCEaqV3Bjkbv4b3pUuf5Gy1RaqX/HnmKlZw==", "path": "runtime.win.system.io.filesystem/4.0.1", "hashPath": "runtime.win.system.io.filesystem.4.0.1.nupkg.sha512" }, "runtime.win.System.Runtime.Extensions/4.1.0": { "type": "package", "serviceable": true, "sha512": "sha512-U3F/M+djxVXuKJaoW2AGpAE2ZWAp372140jsX4d/ctqki+Qb61HuyQY4yUPSA/gdKGbbq6HXzZ6oxB6/G3MYPA==", "path": "runtime.win.system.runtime.extensions/4.1.0", "hashPath": "runtime.win.system.runtime.extensions.4.1.0.nupkg.sha512" }, "System.Collections/4.0.11": { "type": "package", "serviceable": true, "sha512": "sha512-YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==", "path": "system.collections/4.0.11", "hashPath": "system.collections.4.0.11.nupkg.sha512" }, "System.Diagnostics.Debug/4.0.11": { "type": "package", "serviceable": true, "sha512": "sha512-w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==", "path": "system.diagnostics.debug/4.0.11", "hashPath": "system.diagnostics.debug.4.0.11.nupkg.sha512" }, "System.Diagnostics.Tools/4.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-xBfJ8pnd4C17dWaC9FM6aShzbJcRNMChUMD42I6772KGGrqaFdumwhn9OdM68erj1ueNo3xdQ1EwiFjK5k8p0g==", "path": "system.diagnostics.tools/4.0.1", "hashPath": "system.diagnostics.tools.4.0.1.nupkg.sha512" }, "System.Dynamic.Runtime/4.0.11": { "type": "package", "serviceable": true, "sha512": "sha512-db34f6LHYM0U0JpE+sOmjar27BnqTVkbLJhgfwMpTdgTigG/Hna3m2MYVwnFzGGKnEJk2UXFuoVTr8WUbU91/A==", "path": "system.dynamic.runtime/4.0.11", "hashPath": "system.dynamic.runtime.4.0.11.nupkg.sha512" }, "System.Globalization/4.0.11": { "type": "package", "serviceable": true, "sha512": "sha512-B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==", "path": "system.globalization/4.0.11", "hashPath": "system.globalization.4.0.11.nupkg.sha512" }, "System.IO/4.1.0": { "type": "package", "serviceable": true, "sha512": "sha512-3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==", "path": "system.io/4.1.0", "hashPath": "system.io.4.1.0.nupkg.sha512" }, "System.IO.FileSystem/4.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-IBErlVq5jOggAD69bg1t0pJcHaDbJbWNUZTPI96fkYWzwYbN6D9wRHMULLDd9dHsl7C2YsxXL31LMfPI1SWt8w==", "path": "system.io.filesystem/4.0.1", "hashPath": "system.io.filesystem.4.0.1.nupkg.sha512" }, "System.IO.FileSystem.Primitives/4.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-kWkKD203JJKxJeE74p8aF8y4Qc9r9WQx4C0cHzHPrY3fv/L/IhWnyCHaFJ3H1QPOH6A93whlQ2vG5nHlBDvzWQ==", "path": "system.io.filesystem.primitives/4.0.1", "hashPath": "system.io.filesystem.primitives.4.0.1.nupkg.sha512" }, "System.Linq/4.1.0": { "type": "package", "serviceable": true, "sha512": "sha512-bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==", "path": "system.linq/4.1.0", "hashPath": "system.linq.4.1.0.nupkg.sha512" }, "System.Linq.Expressions/4.1.0": { "type": "package", "serviceable": true, "sha512": "sha512-I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==", "path": "system.linq.expressions/4.1.0", "hashPath": "system.linq.expressions.4.1.0.nupkg.sha512" }, "System.ObjectModel/4.0.12": { "type": "package", "serviceable": true, "sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==", "path": "system.objectmodel/4.0.12", "hashPath": "system.objectmodel.4.0.12.nupkg.sha512" }, "System.Private.Uri/4.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-OltceAn9yyNf9LZIqvf80DhdRH55iVu1fxowdR79018w1CWIRNojUZBStsiRHvADeKI5pXcM9EftOFikBQh5AA==", "path": "system.private.uri/4.0.1", "hashPath": "system.private.uri.4.0.1.nupkg.sha512" }, "System.Reflection/4.1.0": { "type": "package", "serviceable": true, "sha512": "sha512-JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==", "path": "system.reflection/4.1.0", "hashPath": "system.reflection.4.1.0.nupkg.sha512" }, "System.Reflection.Emit/4.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", "path": "system.reflection.emit/4.0.1", "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512" }, "System.Reflection.Emit.ILGeneration/4.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==", "path": "system.reflection.emit.ilgeneration/4.0.1", "hashPath": "system.reflection.emit.ilgeneration.4.0.1.nupkg.sha512" }, "System.Reflection.Emit.Lightweight/4.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==", "path": "system.reflection.emit.lightweight/4.0.1", "hashPath": "system.reflection.emit.lightweight.4.0.1.nupkg.sha512" }, "System.Reflection.Extensions/4.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==", "path": "system.reflection.extensions/4.0.1", "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512" }, "System.Reflection.Primitives/4.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==", "path": "system.reflection.primitives/4.0.1", "hashPath": "system.reflection.primitives.4.0.1.nupkg.sha512" }, "System.Reflection.TypeExtensions/4.1.0": { "type": "package", "serviceable": true, "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", "path": "system.reflection.typeextensions/4.1.0", "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512" }, "System.Resources.ResourceManager/4.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==", "path": "system.resources.resourcemanager/4.0.1", "hashPath": "system.resources.resourcemanager.4.0.1.nupkg.sha512" }, "System.Runtime/4.1.0": { "type": "package", "serviceable": true, "sha512": "sha512-v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==", "path": "system.runtime/4.1.0", "hashPath": "system.runtime.4.1.0.nupkg.sha512" }, "System.Runtime.Extensions/4.1.0": { "type": "package", "serviceable": true, "sha512": "sha512-CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==", "path": "system.runtime.extensions/4.1.0", "hashPath": "system.runtime.extensions.4.1.0.nupkg.sha512" }, "System.Runtime.Handles/4.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-nCJvEKguXEvk2ymk1gqj625vVnlK3/xdGzx0vOKicQkoquaTBJTP13AIYkocSUwHCLNBwUbXTqTWGDxBTWpt7g==", "path": "system.runtime.handles/4.0.1", "hashPath": "system.runtime.handles.4.0.1.nupkg.sha512" }, "System.Runtime.InteropServices/4.1.0": { "type": "package", "serviceable": true, "sha512": "sha512-16eu3kjHS633yYdkjwShDHZLRNMKVi/s0bY8ODiqJ2RfMhDMAwxZaUaWVnZ2P71kr/or+X9o/xFWtNqz8ivieQ==", "path": "system.runtime.interopservices/4.1.0", "hashPath": "system.runtime.interopservices.4.1.0.nupkg.sha512" }, "System.Runtime.Serialization.Primitives/4.1.1": { "type": "package", "serviceable": true, "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", "path": "system.runtime.serialization.primitives/4.1.1", "hashPath": "system.runtime.serialization.primitives.4.1.1.nupkg.sha512" }, "System.Text.Encoding/4.0.11": { "type": "package", "serviceable": true, "sha512": "sha512-U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==", "path": "system.text.encoding/4.0.11", "hashPath": "system.text.encoding.4.0.11.nupkg.sha512" }, "System.Text.Encoding.Extensions/4.0.11": { "type": "package", "serviceable": true, "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==", "path": "system.text.encoding.extensions/4.0.11", "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512" }, "System.Text.RegularExpressions/4.1.0": { "type": "package", "serviceable": true, "sha512": "sha512-i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==", "path": "system.text.regularexpressions/4.1.0", "hashPath": "system.text.regularexpressions.4.1.0.nupkg.sha512" }, "System.Threading/4.0.11": { "type": "package", "serviceable": true, "sha512": "sha512-N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==", "path": "system.threading/4.0.11", "hashPath": "system.threading.4.0.11.nupkg.sha512" }, "System.Threading.Overlapped/4.0.1": { "type": "package", "serviceable": true, "sha512": "sha512-f7aLuLkBoCQM2kng7zqLFBXz9Gk48gDK8lk1ih9rH/1arJJzZK9gJwNvPDhL6Ps/l6rwOr8jw+4FCHL0KKWiEg==", "path": "system.threading.overlapped/4.0.1", "hashPath": "system.threading.overlapped.4.0.1.nupkg.sha512" }, "System.Threading.Tasks/4.0.11": { "type": "package", "serviceable": true, "sha512": "sha512-k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==", "path": "system.threading.tasks/4.0.11", "hashPath": "system.threading.tasks.4.0.11.nupkg.sha512" }, "System.Threading.Tasks.Extensions/4.0.0": { "type": "package", "serviceable": true, "sha512": "sha512-pH4FZDsZQ/WmgJtN4LWYmRdJAEeVkyriSwrv2Teoe5FOU0Yxlb6II6GL8dBPOfRmutHGATduj3ooMt7dJ2+i+w==", "path": "system.threading.tasks.extensions/4.0.0", "hashPath": "system.threading.tasks.extensions.4.0.0.nupkg.sha512" }, "System.Xml.ReaderWriter/4.0.11": { "type": "package", "serviceable": true, "sha512": "sha512-ZIiLPsf67YZ9zgr31vzrFaYQqxRPX9cVHjtPSnmx4eN6lbS/yEyYNr2vs1doGDEscF0tjCZFsk9yUg1sC9e8tg==", "path": "system.xml.readerwriter/4.0.11", "hashPath": "system.xml.readerwriter.4.0.11.nupkg.sha512" }, "System.Xml.XDocument/4.0.11": { "type": "package", "serviceable": true, "sha512": "sha512-Mk2mKmPi0nWaoiYeotq1dgeNK1fqWh61+EK+w4Wu8SWuTYLzpUnschb59bJtGywaPq7SmTuPf44wrXRwbIrukg==", "path": "system.xml.xdocument/4.0.11", "hashPath": "system.xml.xdocument.4.0.11.nupkg.sha512" } }, "runtimes": { "win-x64": [ "win", "any", "base" ], "win-x64-aot": [ "win-aot", "win-x64", "win", "aot", "any", "base" ], "win10-x64": [ "win10", "win81-x64", "win81", "win8-x64", "win8", "win7-x64", "win7", "win-x64", "win", "any", "base" ], "win10-x64-aot": [ "win10-aot", "win10-x64", "win10", "win81-x64-aot", "win81-aot", "win81-x64", "win81", "win8-x64-aot", "win8-aot", "win8-x64", "win8", "win7-x64-aot", "win7-aot", "win7-x64", "win7", "win-x64-aot", "win-aot", "win-x64", "win", "aot", "any", "base" ], "win7-x64": [ "win7", "win-x64", "win", "any", "base" ], "win7-x64-aot": [ "win7-aot", "win7-x64", "win7", "win-x64-aot", "win-aot", "win-x64", "win", "aot", "any", "base" ], "win8-x64": [ "win8", "win7-x64", "win7", "win-x64", "win", "any", "base" ], "win8-x64-aot": [ "win8-aot", "win8-x64", "win8", "win7-x64-aot", "win7-aot", "win7-x64", "win7", "win-x64-aot", "win-aot", "win-x64", "win", "aot", "any", "base" ], "win81-x64": [ "win81", "win8-x64", "win8", "win7-x64", "win7", "win-x64", "win", "any", "base" ], "win81-x64-aot": [ "win81-aot", "win81-x64", "win81", "win8-x64-aot", "win8-aot", "win8-x64", "win8", "win7-x64-aot", "win7-aot", "win7-x64", "win7", "win-x64-aot", "win-aot", "win-x64", "win", "aot", "any", "base" ] } } ```
mangod9 commented 3 years ago

Ok, thanks. I can repro it now. It wasnt repro on a local build of the runtime, since runtime artifacts happen to include a newer version of newtonsoft. I see that crossgen2 doesnt produce correct instantiated generic collections code for some reason for the method Newtonsoft.Json.Utilities.ReflectionUtils.GetFields :

4ad27: 48 8b f1                 mov     rsi, rcx
4ad2a: 8b fa                    mov     edi, edx
4ad2c: ff 15 66 0d 0e 00        call    qword ptr [0x12ba98]  // Newtonsoft.Json.Utilities.ReflectionUtils (CCTOR_TRIGGER)
4ad32: 48 85 f6                 test    rsi, rsi
4ad35: 74 39                    je      0x4ad70
4ad37: ff 15 33 20 0e 00   call    qword ptr [0x12cd70]  // System.Collections.Generic.List`1<System.Type> (NEW_OBJECT) 
4ad3d: 48 8b d8                 mov     rbx, rax
4ad40: 48 8b ce                 mov     rcx, rsi
4ad43: 8b d7                    mov     edx, edi
4ad45: ff 15 65 49 0e 00        call    qword ptr [0x12f6b0]  // System.Collections.Generic.IEnumerable`1<System.Reflection.FieldInfo> Newtonsoft.Json.Utilities.TypeExtensions.GetFields(System.Type, Newtonsoft.Json.Utilities.BindingFlags) (METHOD_ENTRY_DEF_TOKEN)
4ad4b: 48 8b d0                 mov     rdx, rax
4ad4e: 48 8b cb                 mov     rcx, rbx
4ad51: ff 15 01 38 0e 00        call    qword ptr [0x12e558]  // void System.Collections.Generic.List`1<__Canon>..ctor(System.Collections.Generic.IEnumerable`1<!0>) (METHOD_ENTRY)
4ad57: 48 8b 0d 8a 5e 0e 00     mov     rcx, qword ptr [0x130be8] // [INST] System.Collections.Generic.IEnumerable`1<!!0> System.Linq.Enumerable.Cast<!!0>(System.Collections.IEnumerable)<System.Reflection.FieldInfo> (METHOD_DICTIONARY)
4ad5e: 48 8b d3                 mov     rdx, rbx
4ad61: ff 15 e1 3b 0e 00        call    qword ptr [0x12e948]  // System.Collections.Generic.IEnumerable`1<!!0> System.Linq.Enumerable.Cast<!!0>(System.Collections.IEnumerable)<__Canon> (METHOD_ENTRY)
4ad67: 90                       nop
4ad68: 48 83 c4 20              add     rsp, 32
4ad6c: 5b                       pop     rbx
4ad6d: 5e                       pop     rsi
4ad6e: 5f                       pop     rdi
4ad6f: c3                       ret
4ad70: ff 15 da 16 0e 00        call    qword ptr [0x12c450]  // System.ArgumentNullException (NEW_OBJECT)
4ad76: 48 8b f0                 mov     rsi, rax
4ad79: 48 8b 15 a0 7b 0e 00     mov     rdx, qword ptr [0x132920] // "targetType" (STRING_HANDLE)

Here is what is produced by crossgen1:

b1d27: 48 8b f1                 mov     rsi, rcx
b1d2a: 8b fa                    mov     edi, edx
b1d2c: ff 15 c6 f7 f4 ff        call    qword ptr [0x14f8]    // Newtonsoft.Json.Utilities.ReflectionUtils (CCTOR_TRIGGER)
b1d32: 48 85 f6                 test    rsi, rsi
b1d35: 74 39                    je      0xb1d70
b1d37: ff 15 e3 02 f5 ff        call    qword ptr [0x2020]    // System.Collections.Generic.List`1<System.Reflection.MemberInfo> (NEW_OBJECT)
b1d3d: 48 8b d8                 mov     rbx, rax
b1d40: 48 8b ce                 mov     rcx, rsi
b1d43: 8b d7                    mov     edx, edi
b1d45: ff 15 e5 25 f5 ff        call    qword ptr [0x4330]    // System.Collections.Generic.IEnumerable`1<System.Reflection.FieldInfo> Newtonsoft.Json.Utilities.TypeExtensions.GetFields(System.Type, Newtonsoft.Json.Utilities.BindingFlags) (METHOD_ENTRY_DEF_TOKEN)
b1d4b: 48 8b d0                 mov     rdx, rax
b1d4e: 48 8b cb                 mov     rcx, rbx
b1d51: ff 15 11 29 f5 ff        call    qword ptr [0x4668]    // void System.Collections.Generic.List`1<System.Reflection.MemberInfo>..ctor(System.Collections.Generic.IEnumerable`1<!0>) (METHOD_ENTRY)
b1d57: 48 8b 0d da 68 f5 ff     mov     rcx, qword ptr [0x8638] // [INST] System.Collections.Generic.IEnumerable`1<!!0> System.Linq.Enumerable.Cast<!!0>(System.Collections.IEnumerable)<System.Reflection.FieldInfo> (METHOD_DICTIONARY)
b1d5e: 48 8b d3                 mov     rdx, rbx
b1d61: ff 15 21 21 f5 ff        call    qword ptr [0x3e88]    // System.Collections.Generic.IEnumerable`1<!!0> System.Linq.Enumerable.Cast<!!0>(System.Collections.IEnumerable)<__Canon> (METHOD_ENTRY)
b1d67: 90                       nop
b1d68: 48 83 c4 20              add     rsp, 32
b1d6c: 5b                       pop     rbx
b1d6d: 5e                       pop     rsi
b1d6e: 5f                       pop     rdi
b1d6f: c3                       ret
mangod9 commented 3 years ago

Guess you already have a workaround to upgrade to a newer version or but if you need to get the 9.x version working you could set one of these:

<PublishReadyToRunComposite>true</PublishReadyToRunComposite>: Builds a single composite r2r image which doesnt run into that issue possibly due to aggressive inlining

-- or --

<PublishReadyToRunUseCrossgen2>true</PublishReadyToRunUseCrossgen2>: Falls back to original crossgen (the default before preview4)

campersau commented 3 years ago

Thanks for the additional workaround suggestions!

<PublishReadyToRunComposite>true</PublishReadyToRunComposite>: This doesn't seem to work with the original https://github.com/NuGetPackageExplorer/NuGetPackageExplorer WPF project. Starting the exe results in the following errors in the Windows Eventviewer:

Application: NuGetPackageExplorer.exe
CoreCLR Version: 6.0.21.25307
.NET Version: 6.0.0-preview.4.21253.7
Description: The process was terminated due to an unhandled exception.
Exception Info: System.TypeInitializationException: The type initializer for 'System.Windows.Media.FontFamily' threw an exception.
 ---> System.TypeInitializationException: The type initializer for 'MS.Internal.FontCache.DWriteFactory' threw an exception.
 ---> System.InvalidCastException: Specified cast is not valid.
   at MS.Internal.Text.TextInterface.Native.Util.ConvertHresultToException(Int32 hr) in DirectWriteForwarder.dll:token 0x600024e+0x53
   at MS.Internal.Text.TextInterface.Factory.Initialize(FactoryType factoryType) in DirectWriteForwarder.dll:token 0x6000330+0x0
   at MS.Internal.Text.TextInterface.Factory..ctor(FactoryType factoryType, IFontSourceCollectionFactory fontSourceCollectionFactory, IFontSourceFactory fontSourceFactory) in DirectWriteForwarder.dll:token 0x600032f+0xb
   at MS.Internal.FontCache.DWriteFactory..cctor() in PresentationCore.dll:token 0x6001410+0x1b
   --- End of inner exception stack trace ---
   at MS.Internal.FontCache.DWriteFactory.get_SystemFontCollection() in PresentationCore.dll:token 0x6001412+0x0
   at System.Windows.Media.FontFamily..cctor() in PresentationCore.dll:token 0x6001120+0x1f
   --- End of inner exception stack trace ---
   at MS.Internal.Text.DynamicPropertyReader.GetTypeface(DependencyObject element) in PresentationFramework.dll:token 0x6001d9c+0x0
   at MS.Internal.Text.TextProperties.InitCommon(DependencyObject target) in PresentationFramework.dll:token 0x6001e30+0x0
   at MS.Internal.Text.TextProperties..ctor(FrameworkElement target, Boolean isTypographyDefaultValue) in PresentationFramework.dll:token 0x6001e2d+0x2d
   at System.Windows.Controls.TextBlock.GetLineProperties() in PresentationFramework.dll:token 0x60074bc+0x0
   at System.Windows.Controls.TextBlock.EnsureTextBlockCache() in PresentationFramework.dll:token 0x60074bb+0x13
   at System.Windows.Controls.TextBlock.MeasureOverride(Size constraint) in PresentationFramework.dll:token 0x600748f+0xd
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize) in PresentationFramework.dll:token 0x6002270+0x238
   at System.Windows.UIElement.Measure(Size availableSize) in PresentationCore.dll:token 0x6000829+0x189
   at System.Windows.Controls.AccessText.MeasureOverride(Size constraint) in PresentationFramework.dll:token 0x6005f6f+0x0
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize) in PresentationFramework.dll:token 0x6002270+0x238
   at System.Windows.UIElement.Measure(Size availableSize) in PresentationCore.dll:token 0x6000829+0x189
   at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) in PresentationFramework.dll:token 0x6000596+0x1c
   at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint) in PresentationFramework.dll:token 0x6006171+0x0
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize) in PresentationFramework.dll:token 0x6002270+0x238
   at System.Windows.UIElement.Measure(Size availableSize) in PresentationCore.dll:token 0x6000829+0x189
   at System.Windows.Controls.DockPanel.MeasureOverride(Size constraint) in PresentationFramework.dll:token 0x60067f2+0x87
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize) in PresentationFramework.dll:token 0x6002270+0x238
   at System.Windows.UIElement.Measure(Size availableSize) in PresentationCore.dll:token 0x6000829+0x189
   at System.Windows.Controls.Grid.MeasureOverride(Size constraint) in PresentationFramework.dll:token 0x60069c0+0x43
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize) in PresentationFramework.dll:token 0x6002270+0x238
   at System.Windows.UIElement.Measure(Size availableSize) in PresentationCore.dll:token 0x6000829+0x189
   at System.Windows.Controls.Control.MeasureOverride(Size constraint) in PresentationFramework.dll:token 0x6006224+0x19
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize) in PresentationFramework.dll:token 0x6002270+0x238
   at System.Windows.UIElement.Measure(Size availableSize) in PresentationCore.dll:token 0x6000829+0x189
   at System.Windows.Controls.WrapPanel.MeasureOverride(Size constraint) in PresentationFramework.dll:token 0x60078ba+0xaa
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize) in PresentationFramework.dll:token 0x6002270+0x238
   at System.Windows.UIElement.Measure(Size availableSize) in PresentationCore.dll:token 0x6000829+0x189
   at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) in PresentationFramework.dll:token 0x6000596+0x1c
   at System.Windows.Controls.ItemsPresenter.MeasureOverride(Size constraint) in PresentationFramework.dll:token 0x6006e6a+0x0
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize) in PresentationFramework.dll:token 0x6002270+0x238
   at System.Windows.UIElement.Measure(Size availableSize) in PresentationCore.dll:token 0x6000829+0x189
   at System.Windows.Controls.Border.MeasureOverride(Size constraint) in PresentationFramework.dll:token 0x6005fce+0x100
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize) in PresentationFramework.dll:token 0x6002270+0x238
   at System.Windows.UIElement.Measure(Size availableSize) in PresentationCore.dll:token 0x6000829+0x189
   at System.Windows.Controls.Control.MeasureOverride(Size constraint) in PresentationFramework.dll:token 0x6006224+0x19
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize) in PresentationFramework.dll:token 0x6002270+0x238
   at System.Windows.UIElement.Measure(Size availableSize) in PresentationCore.dll:token 0x6000829+0x189
   at System.Windows.Controls.DockPanel.MeasureOverride(Size constraint) in PresentationFramework.dll:token 0x60067f2+0x87
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize) in PresentationFramework.dll:token 0x6002270+0x238
   at System.Windows.UIElement.Measure(Size availableSize) in PresentationCore.dll:token 0x6000829+0x189
   at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) in PresentationFramework.dll:token 0x6000596+0x1c
   at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint) in PresentationFramework.dll:token 0x6006171+0x0
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize) in PresentationFramework.dll:token 0x6002270+0x238
   at System.Windows.UIElement.Measure(Size availableSize) in PresentationCore.dll:token 0x6000829+0x189
   at System.Windows.Controls.Decorator.MeasureOverride(Size constraint) in PresentationFramework.dll:token 0x60067ae+0xa
   at System.Windows.Documents.AdornerDecorator.MeasureOverride(Size constraint) in PresentationFramework.dll:token 0x600481c+0x0
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize) in PresentationFramework.dll:token 0x6002270+0x238
   at System.Windows.UIElement.Measure(Size availableSize) in PresentationCore.dll:token 0x6000829+0x189
   at System.Windows.Controls.Border.MeasureOverride(Size constraint) in PresentationFramework.dll:token 0x6005fce+0x100
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize) in PresentationFramework.dll:token 0x6002270+0x238
   at System.Windows.UIElement.Measure(Size availableSize) in PresentationCore.dll:token 0x6000829+0x189
   at System.Windows.Window.MeasureOverrideHelper(Size constraint) in PresentationFramework.dll:token 0x6002a57+0xd8
   at System.Windows.Window.MeasureOverride(Size availableSize) in PresentationFramework.dll:token 0x6002a1c+0x6a
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize) in PresentationFramework.dll:token 0x6002270+0x39
   at System.Windows.UIElement.Measure(Size availableSize) in PresentationCore.dll:token 0x6000829+0x189
   at System.Windows.Interop.HwndSource.SetLayoutSize() in PresentationCore.dll:token 0x600038f+0x1f4
   at System.Windows.Interop.HwndSource.set_RootVisualInternal(Visual value) in PresentationCore.dll:token 0x6000373+0x102
   at System.Windows.Interop.HwndSource.set_RootVisual(Visual value) in PresentationCore.dll:token 0x6000372+0x7
   at System.Windows.Window.SetRootVisual() in PresentationFramework.dll:token 0x6002a3f+0xe
   at System.Windows.Window.SetRootVisualAndUpdateSTC() in PresentationFramework.dll:token 0x6002a40+0x0
   at System.Windows.Window.SetupInitialState(Double requestedTop, Double requestedLeft, Double requestedWidth, Double requestedHeight) in PresentationFramework.dll:token 0x6002a3e+0x31f
   at System.Windows.Window.CreateSourceWindow(Boolean duringShow) in PresentationFramework.dll:token 0x6002a39+0x161
   at System.Windows.Window.CreateSourceWindowDuringShow() in PresentationFramework.dll:token 0x6002a38+0x0
   at System.Windows.Window.SafeCreateWindowDuringShow() in PresentationFramework.dll:token 0x6002a97+0x8
   at System.Windows.Window.ShowHelper(Object booleanBox) in PresentationFramework.dll:token 0x6002a9b+0x35
   at System.Windows.Window.Show() in PresentationFramework.dll:token 0x60029d3+0x1f
   at PackageExplorer.App.Application_Startup(Object sender, StartupEventArgs e) in C:\dev_projects\NuGetPackageExplorer\PackageExplorer\App.xaml.cs:line 80
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__140_0(Object state) in System.Private.CoreLib.dll:token 0x6002df4+0x0
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) in WindowsBase.dll:token 0x6000eaf+0x8d
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) in WindowsBase.dll:token 0x6000eae+0x2
   at System.Windows.Threading.DispatcherOperation.InvokeImpl() in WindowsBase.dll:token 0x6000f87+0x7a
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state) in WindowsBase.dll:token 0x6000f86+0x0
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj) in WindowsBase.dll:token 0x60002de+0x1a
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in System.Private.CoreLib.dll:token 0x60029a9+0x40
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in System.Private.CoreLib.dll:token 0x60029a9+0x80
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state) in WindowsBase.dll:token 0x60002dd+0x34
   at System.Windows.Threading.DispatcherOperation.Invoke() in WindowsBase.dll:token 0x6000f84+0xf
   at System.Windows.Threading.Dispatcher.ProcessQueue() in WindowsBase.dll:token 0x6000f1a+0xe5
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) in WindowsBase.dll:token 0x6000f21+0x3f
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) in WindowsBase.dll:token 0x60001a3+0x23
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o) in WindowsBase.dll:token 0x6000193+0x36
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) in WindowsBase.dll:token 0x6000eaf+0x76
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) in WindowsBase.dll:token 0x6000eae+0x2
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs) in WindowsBase.dll:token 0x6000efa+0xbb
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) in WindowsBase.dll:token 0x6000191+0x118
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame) in WindowsBase.dll:token 0x6000f1c+0x3c
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame) in WindowsBase.dll:token 0x6000ed7+0x5e
   at System.Windows.Application.RunDispatcher(Object ignore) in PresentationFramework.dll:token 0x6001fbe+0x1f
   at System.Windows.Application.RunInternal(Window window) in PresentationFramework.dll:token 0x6001f92+0xd9
   at PackageExplorer.App.Main() in NuGetPackageExplorer.dll:token 0x6000018+0xb

<PublishReadyToRunUseCrossgen2>false</PublishReadyToRunUseCrossgen2>: this seems to work fine.

mangod9 commented 3 years ago

Ok, thanks for checking. Yeah the composite case did work on the simple repro, but looks like it has some trouble with the WPF scenario.

mangod9 commented 3 years ago

@trylek who is helping with investigating this further.

trylek commented 3 years ago

At the first glance I think the fundamental difference is in the following instruction: in Crossgen2, it produces

4ad37: ff 15 33 20 0e 00   call    qword ptr [0x12cd70]  // System.Collections.Generic.List`1<System.Type> (NEW_OBJECT) 

whereas in Crossgen1 it's

b1d37: ff 15 e3 02 f5 ff        call    qword ptr [0x2020]    // System.Collections.Generic.List`1<System.Reflection.MemberInfo> (NEW_OBJECT)

It looks somewhat similar to a previous problem we had with method dictionaries where a comparison function was missing a field thus incorrectly conflating two different instantiations. For the other difference where Crossgen2 refers to a method on Canon whereas the Crossgen1 version has List`1..ctor, I saw these in the past and I managed to convince myself this is correct for shared generics as we're in fact really calling the Canon version, we're just smuggling the instantiation type information into the method by means of the generic dictionary.

mangod9 commented 3 years ago

@trylek, might also be worthwhile looking into why composite mode fails for Nuget Explorer app. Perhaps we can create a separate issue for that though.

trylek commented 3 years ago

Hmm, I'm getting somewhat lost in the multitude of related issues. Are you referring to this one?

https://github.com/NuGetPackageExplorer/NuGetPackageExplorer/issues/1284

If the answer is positive, it would be great to double-check it's not the same issue my latest PR has fixed as the symptoms are very similar. I'm somewhat scared of the prospect of having to debug this in context of the VS UI, perhaps with the help of @tommcdon, @hoyosjs and / or some VS debugger folks we might be able to figure out how to construct a command-line repro?

mangod9 commented 3 years ago

As a workaround I had suggested trying composite mode, since the simple repro app didnt fail due to "Entry Point Not Found", but use composite caused a different issue for the original app as mentioned here: https://github.com/dotnet/runtime/issues/53520#issuecomment-852784434

trylek commented 3 years ago

In fact, how come the nuget package manager gets compiled by Crossgen2 at all? I'm not aware of any of our efforts in this space. Has that automatically switched over with the SDK change to use Crossgen2 by default?

hoyosjs commented 3 years ago

@trylek the package explorer is a standalone UI app not in VS (WPF I believe?).

mangod9 commented 3 years ago

Correct it got switched over when they moved to Preview4 for their standalone app. For now they have explicitly switched it back to cg1.

trylek commented 3 years ago

In fact, the invalid cast @mangod9 refers to (#53520) is exactly what I would expect to be potentially caused by the bug I fixed yesterday.

mangod9 commented 3 years ago

Ok yeah that could very well be the same root cause too. Perhaps @campersau can help validate that?

trylek commented 3 years ago

In other words, as I'm a newcomer to this problem it will likely take me a bit to ramp up on building and testing stuff. If someone familiar with the problem could confirm or disprove whether the latest dotnet/runtime/main is still hitting the issue, that would be of great help, thanks Manish for facilitating that!

hoyosjs commented 3 years ago

Tested with a crossgen2 build from today (6.0.0-preview.6.21306.9) and I couldn't repro. I could if I used preview 4 bits.

mangod9 commented 3 years ago

Thanks @hoyosjs for validating! Assume you tried with both cg2 default and composite mode?

hoyosjs commented 3 years ago

If I do PublishReadyToRunComposite the app fails to start. "The type initializer for 'System.Windows.Media.FontFamily' threw an exception." is the exception that ends up tearing the program.

campersau commented 3 years ago

@hoyosjs Looks like the same exception I got here https://github.com/dotnet/runtime/issues/53520#issuecomment-852784434

@mangod9 I also get the exception with a simplified WPF example (still using 6.0.0-preview.6.21306.1 as I am waiting for a new daily build).

Just create a new WPF project for .net 6 with this csproj

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <Platform>x64</Platform>
    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net6.0-windows10.0.19041</TargetFramework>
    <UseWPF>true</UseWPF>
  </PropertyGroup>

  <PropertyGroup>
    <SelfContained>true</SelfContained>
    <PublishReadyToRun>true</PublishReadyToRun>
    <PublishReadyToRunComposite>true</PublishReadyToRunComposite>
    <PublishSingleFile>false</PublishSingleFile>
    <PublishTrimmed>false</PublishTrimmed>
  </PropertyGroup>

</Project>

And this MainWindow.xaml (just added a TextBlock).

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <TextBlock Text="Hello World!" />
    </Grid>
</Window>

Here is the complete stacktrace for this simple app (copied from windows eventviewer):

Application: WpfApp1.exe
CoreCLR Version: 6.0.21.30601
.NET Version: 6.0.0-preview.6.21306.1
Description: The process was terminated due to an unhandled exception.
Exception Info: System.TypeInitializationException: The type initializer for 'System.Windows.Media.FontFamily' threw an exception.
 ---> System.TypeInitializationException: The type initializer for 'MS.Internal.FontCache.DWriteFactory' threw an exception.
 ---> System.InvalidCastException: Specified cast is not valid.
   at MS.Internal.Text.TextInterface.Native.Util.ConvertHresultToException(Int32 hr) in DirectWriteForwarder.dll:token 0x600024e+0x53
   at MS.Internal.Text.TextInterface.Factory.Initialize(FactoryType factoryType) in DirectWriteForwarder.dll:token 0x6000330+0x0
   at MS.Internal.Text.TextInterface.Factory..ctor(FactoryType factoryType, IFontSourceCollectionFactory fontSourceCollectionFactory, IFontSourceFactory fontSourceFactory) in DirectWriteForwarder.dll:token 0x600032f+0xb
   at MS.Internal.FontCache.DWriteFactory..cctor() in PresentationCore.dll:token 0x6001410+0x1b
   --- End of inner exception stack trace ---
   at MS.Internal.FontCache.DWriteFactory.get_SystemFontCollection() in PresentationCore.dll:token 0x6001412+0x0
   at System.Windows.Media.FontFamily..cctor() in PresentationCore.dll:token 0x6001120+0x1f
   --- End of inner exception stack trace ---
   at MS.Internal.Text.DynamicPropertyReader.GetTypeface(DependencyObject element) in PresentationFramework.dll:token 0x6001d9c+0x0
   at MS.Internal.Text.TextProperties.InitCommon(DependencyObject target) in PresentationFramework.dll:token 0x6001e30+0x0
   at MS.Internal.Text.TextProperties..ctor(FrameworkElement target, Boolean isTypographyDefaultValue) in PresentationFramework.dll:token 0x6001e2d+0x2d
   at System.Windows.Controls.TextBlock.GetLineProperties() in PresentationFramework.dll:token 0x60074bc+0x0
   at System.Windows.Controls.TextBlock.EnsureTextBlockCache() in PresentationFramework.dll:token 0x60074bb+0x13
   at System.Windows.Controls.TextBlock.MeasureOverride(Size constraint) in PresentationFramework.dll:token 0x600748f+0xd
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize) in PresentationFramework.dll:token 0x6002270+0x238
   at System.Windows.UIElement.Measure(Size availableSize) in PresentationCore.dll:token 0x6000829+0x189
   at System.Windows.Controls.Grid.MeasureOverride(Size constraint) in PresentationFramework.dll:token 0x60069c0+0x43
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize) in PresentationFramework.dll:token 0x6002270+0x238
   at System.Windows.UIElement.Measure(Size availableSize) in PresentationCore.dll:token 0x6000829+0x189
   at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) in PresentationFramework.dll:token 0x6000596+0x1c
   at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint) in PresentationFramework.dll:token 0x6006171+0x0
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize) in PresentationFramework.dll:token 0x6002270+0x238
   at System.Windows.UIElement.Measure(Size availableSize) in PresentationCore.dll:token 0x6000829+0x189
   at System.Windows.Controls.Decorator.MeasureOverride(Size constraint) in PresentationFramework.dll:token 0x60067ae+0xa
   at System.Windows.Documents.AdornerDecorator.MeasureOverride(Size constraint) in PresentationFramework.dll:token 0x600481c+0x0
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize) in PresentationFramework.dll:token 0x6002270+0x238
   at System.Windows.UIElement.Measure(Size availableSize) in PresentationCore.dll:token 0x6000829+0x189
   at System.Windows.Controls.Border.MeasureOverride(Size constraint) in PresentationFramework.dll:token 0x6005fce+0x100
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize) in PresentationFramework.dll:token 0x6002270+0x238
   at System.Windows.UIElement.Measure(Size availableSize) in PresentationCore.dll:token 0x6000829+0x189
   at System.Windows.Window.MeasureOverrideHelper(Size constraint) in PresentationFramework.dll:token 0x6002a57+0xd8
   at System.Windows.Window.MeasureOverride(Size availableSize) in PresentationFramework.dll:token 0x6002a1c+0x6a
   at System.Windows.FrameworkElement.MeasureCore(Size availableSize) in PresentationFramework.dll:token 0x6002270+0x39
   at System.Windows.UIElement.Measure(Size availableSize) in PresentationCore.dll:token 0x6000829+0x189
   at System.Windows.Interop.HwndSource.SetLayoutSize() in PresentationCore.dll:token 0x600038f+0x1f4
   at System.Windows.Interop.HwndSource.set_RootVisualInternal(Visual value) in PresentationCore.dll:token 0x6000373+0x102
   at System.Windows.Interop.HwndSource.set_RootVisual(Visual value) in PresentationCore.dll:token 0x6000372+0x7
   at System.Windows.Window.SetRootVisual() in PresentationFramework.dll:token 0x6002a3f+0xe
   at System.Windows.Window.SetRootVisualAndUpdateSTC() in PresentationFramework.dll:token 0x6002a40+0x0
   at System.Windows.Window.SetupInitialState(Double requestedTop, Double requestedLeft, Double requestedWidth, Double requestedHeight) in PresentationFramework.dll:token 0x6002a3e+0x31f
   at System.Windows.Window.CreateSourceWindow(Boolean duringShow) in PresentationFramework.dll:token 0x6002a39+0x161
   at System.Windows.Window.CreateSourceWindowDuringShow() in PresentationFramework.dll:token 0x6002a38+0x0
   at System.Windows.Window.SafeCreateWindowDuringShow() in PresentationFramework.dll:token 0x6002a97+0x0
   at System.Windows.Window.ShowHelper(Object booleanBox) in PresentationFramework.dll:token 0x6002a9b+0x35
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) in WindowsBase.dll:token 0x6000eaf+0x76
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) in WindowsBase.dll:token 0x6000eae+0x2
   at System.Windows.Threading.DispatcherOperation.InvokeImpl() in WindowsBase.dll:token 0x6000f87+0x7a
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state) in WindowsBase.dll:token 0x6000f86+0x0
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj) in WindowsBase.dll:token 0x60002de+0x1a
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in System.Private.CoreLib.dll:token 0x60029f7+0x40
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in System.Private.CoreLib.dll:token 0x60029f7+0x80
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state) in WindowsBase.dll:token 0x60002dd+0x34
   at System.Windows.Threading.DispatcherOperation.Invoke() in WindowsBase.dll:token 0x6000f84+0xf
   at System.Windows.Threading.Dispatcher.ProcessQueue() in WindowsBase.dll:token 0x6000f1a+0xe5
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) in WindowsBase.dll:token 0x6000f21+0x3f
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) in WindowsBase.dll:token 0x60001a3+0x23
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o) in WindowsBase.dll:token 0x6000193+0x36
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) in WindowsBase.dll:token 0x6000eaf+0x76
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) in WindowsBase.dll:token 0x6000eae+0x2
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs) in WindowsBase.dll:token 0x6000efa+0xbb
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) in WindowsBase.dll:token 0x6000191+0x118
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame) in WindowsBase.dll:token 0x6000f1c+0x3c
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame) in WindowsBase.dll:token 0x6000ed7+0x5e
   at System.Windows.Application.RunDispatcher(Object ignore) in PresentationFramework.dll:token 0x6001fbe+0x1f
   at System.Windows.Application.RunInternal(Window window) in PresentationFramework.dll:token 0x6001f92+0xd9
   at WpfApp1.App.Main() in WpfApp1.dll:token 0x6000002+0xb

If this should be a separate issue, you can just create a new one from this comment if want.

hoyosjs commented 3 years ago
The site of the first chance is at this stack ``` 0:000> k # Child-SP RetAddr Call Site 00 00000036`f037afb0 00007ffc`fe6e20cd KERNELBASE!RaiseException+0x69 [minkernel\kernelbase\xcpt.c @ 937] 01 00000036`f037b090 00007ffc`fe854a0f coreclr!RaiseTheExceptionInternalOnly+0x299 [D:\workspace\_work\1\s\src\coreclr\vm\excep.cpp @ 2806] 02 00000036`f037b1a0 00007ffc`d140536d coreclr!IL_Rethrow+0x8f [D:\workspace\_work\1\s\src\coreclr\vm\jithelpers.cpp @ 4152] 03 00000036`f037b2f0 00007ffc`fe6e27ee WindowsBase!System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)+0xbd [/_/src/Microsoft.DotNet.Wpf/src/WindowsBase/MS/Internal/Threading/ExceptionWrapper.cs @ 32] 04 00000036`f037b330 00007ffc`fe6e26c9 coreclr!ExceptionTracker::CallHandler+0xea [D:\workspace\_work\1\s\src\coreclr\vm\exceptionhandling.cpp @ 3352] 05 00000036`f037b3a0 00007ffc`fe6de7ec coreclr!ExceptionTracker::CallCatchHandler+0x99 [D:\workspace\_work\1\s\src\coreclr\vm\exceptionhandling.cpp @ 655] 06 00000036`f037b430 00007ffd`74dd21ff coreclr!ProcessCLRException+0x34c [D:\workspace\_work\1\s\src\coreclr\vm\exceptionhandling.cpp @ 1134] 07 00000036`f037b660 00007ffd`74d60939 ntdll!RtlpExecuteHandlerForUnwind+0xf [minkernel\ntos\rtl\amd64\xcptmisc.asm @ 254] 08 00000036`f037b690 00007ffd`74d80e8d ntdll!RtlUnwindEx+0x339 [minkernel\ntos\rtl\amd64\exdsptch.c @ 1425] 09 00000036`f037bdb0 00007ffc`fe7284bb ntdll!RtlUnwind+0xcd [minkernel\ntos\rtl\amd64\exdsptch.c @ 1005] 0a 00000036`f037c320 00007ffc`fe6de7b2 coreclr!ClrUnwindEx+0x1b [D:\workspace\_work\1\s\src\coreclr\vm\exceptionhandling.cpp @ 5259] 0b 00000036`f037c350 00007ffd`74dd217f coreclr!ProcessCLRException+0x312 [D:\workspace\_work\1\s\src\coreclr\vm\exceptionhandling.cpp @ 1089] 0c 00000036`f037c580 00007ffd`74d81454 ntdll!RtlpExecuteHandlerForException+0xf [minkernel\ntos\rtl\amd64\xcptmisc.asm @ 132] 0d 00000036`f037c5b0 00007ffd`74dd0cae ntdll!RtlDispatchException+0x244 [minkernel\ntos\rtl\amd64\exdsptch.c @ 595] 0e 00000036`f037ccc0 00007ffd`727b4b89 ntdll!KiUserExceptionDispatch+0x2e [minkernel\ntos\rtl\amd64\trampoln.asm @ 751] 0f 00000036`f037d450 00007ffc`fe6e20cd KERNELBASE!RaiseException+0x69 [minkernel\kernelbase\xcpt.c @ 937] 10 00000036`f037d530 00007ffc`fe6e2d9f coreclr!RaiseTheExceptionInternalOnly+0x299 [D:\workspace\_work\1\s\src\coreclr\vm\excep.cpp @ 2806] 11 00000036`f037d640 00007ffc`9f952ce8 coreclr!IL_Throw+0xdf [D:\workspace\_work\1\s\src\coreclr\vm\jithelpers.cpp @ 4119] 12 00000036`f037d7a0 00007ffc`d11f3f18 System_Private_CoreLib!System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()+0x38 [/_/src/libraries/System.Private.CoreLib/src/System/Runtime/ExceptionServices/ExceptionDispatchInfo.cs @ 56] 13 00000036`f037d7d0 00007ffc`d1405466 System_Private_CoreLib!System.Threading.Tasks.Task+<>c.b__140_0(System.Object)+0x18 [/_/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs @ 1896] 14 00000036`f037d800 00007ffc`d14052e2 WindowsBase!System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)+0xe6 [/_/src/Microsoft.DotNet.Wpf/src/WindowsBase/MS/Internal/Threading/ExceptionWrapper.cs @ 51] 15 00000036`f037d860 00007ffc`d140bd84 WindowsBase!System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)+0x32 [/_/src/Microsoft.DotNet.Wpf/src/WindowsBase/MS/Internal/Threading/ExceptionWrapper.cs @ 32] 16 00000036`f037d8b0 00007ffc`d140bc32 WindowsBase!System.Windows.Threading.DispatcherOperation.InvokeImpl()+0x144 [/_/src/Microsoft.DotNet.Wpf/src/WindowsBase/System/Windows/Threading/DispatcherOperation.cs @ 494] 17 00000036`f037d930 00007ffc`d13a8bd7 WindowsBase!System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)+0x22 [/_/src/Microsoft.DotNet.Wpf/src/WindowsBase/System/Windows/Threading/DispatcherOperation.cs @ 487] 18 00000036`f037d960 00007ffc`d11dc1a6 WindowsBase!MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)+0x37 [/_/src/Microsoft.DotNet.Wpf/src/Shared/MS/Internal/CulturePreservingExecutionContext.cs @ 201] 19 00000036`f037d9a0 00007ffc`d13a8b21 System_Private_CoreLib!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)+0x86 [/_/src/libraries/System.Private.CoreLib/src/System/Threading/ExecutionContext.cs @ 158] 1a 00000036`f037da10 00007ffc`d140ba72 WindowsBase!MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)+0x101 [/_/src/Microsoft.DotNet.Wpf/src/Shared/MS/Internal/CulturePreservingExecutionContext.cs @ 151] 1b 00000036`f037da60 00007ffc`d14088f6 WindowsBase!System.Windows.Threading.DispatcherOperation.Invoke()+0x42 [/_/src/Microsoft.DotNet.Wpf/src/WindowsBase/System/Windows/Threading/DispatcherOperation.cs @ 403] 1c 00000036`f037dac0 00007ffc`d1408e6f WindowsBase!System.Windows.Threading.Dispatcher.ProcessQueue()+0x276 [/_/src/Microsoft.DotNet.Wpf/src/WindowsBase/System/Windows/Threading/Dispatcher.cs @ 2036] 1d 00000036`f037db60 00007ffc`d139d747 WindowsBase!System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)+0x7f [/_/src/Microsoft.DotNet.Wpf/src/WindowsBase/System/Windows/Threading/Dispatcher.cs @ 2279] 1e 00000036`f037dbe0 00007ffc`d139c99b WindowsBase!MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)+0xa7 [/_/src/Microsoft.DotNet.Wpf/src/Shared/MS/Win32/HwndWrapper.cs @ 289] 1f 00000036`f037dc70 00007ffc`d1405446 WindowsBase!MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)+0x6b [/_/src/Microsoft.DotNet.Wpf/src/Shared/MS/Win32/HwndSubclass.cs @ 419] 20 00000036`f037dcc0 00007ffc`d14052e2 WindowsBase!System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)+0xc6 [/_/src/Microsoft.DotNet.Wpf/src/WindowsBase/MS/Internal/Threading/ExceptionWrapper.cs @ 51] 21 00000036`f037dd20 00007ffc`d1407384 WindowsBase!System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)+0x32 [/_/src/Microsoft.DotNet.Wpf/src/WindowsBase/MS/Internal/Threading/ExceptionWrapper.cs @ 32] 22 00000036`f037dd70 00007ffc`d139c787 WindowsBase!System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)+0x1a4 [/_/src/Microsoft.DotNet.Wpf/src/WindowsBase/System/Windows/Threading/Dispatcher.cs @ 1275] 23 00000036`f037de00 00007ffc`9ebac4c0 WindowsBase!MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)+0x1f7 [/_/src/Microsoft.DotNet.Wpf/src/Shared/MS/Win32/HwndSubclass.cs @ 284] 24 00000036`f037df30 00007ffd`7323e858 DirectWriteForwarder!ILStubClass.IL_STUB_ReversePInvoke(Int64, Int32, Int64, Int64)+0x60*** WARNING: Unable to verify checksum for E:\repos\NuGetPackageExplorer\PackageExplorer\bin\release\net6.0-windows10.0.19041\win-x64\publish\DirectWriteForwarder.dll 25 00000036`f037dfb0 00007ffd`7323e299 USER32!UserCallWinProcCheckWow+0x2f8 [clientcore\windows\core\ntuser\client\clmsg.cxx @ 280] 26 00000036`f037e140 00007ffc`9f12ad9b USER32!DispatchMessageWorker+0x249 [clientcore\windows\core\ntuser\client\clmsg.cxx @ 3157] 27 00000036`f037e1c0 00007ffc`d1408aff DirectWriteForwarder!ILStubClass.IL_STUB_PInvoke(System.Windows.Interop.MSG ByRef)+0x7b 28 00000036`f037e280 00007ffc`d14063c1 WindowsBase!System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)+0xef [/_/src/Microsoft.DotNet.Wpf/src/WindowsBase/System/Windows/Threading/Dispatcher.cs @ 2116] 29 00000036`f037e310 00007ffc`d21d3cfe WindowsBase!System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)+0x41 [/_/src/Microsoft.DotNet.Wpf/src/WindowsBase/System/Windows/Threading/Dispatcher.cs @ 307] 2a 00000036`f037e340 00007ffc`d21d22e1 PresentationFramework!System.Windows.Application.RunDispatcher(System.Object)+0x4e [/_/src/Microsoft.DotNet.Wpf/src/PresentationFramework/System/Windows/Application.cs @ 2399] 2b 00000036`f037e370 00007ffc`d1ccbe62 PresentationFramework!System.Windows.Application.RunInternal(System.Windows.Window)+0x171 [/_/src/Microsoft.DotNet.Wpf/src/PresentationFramework/System/Windows/Application.cs @ 1625] 2c 00000036`f037e3d0 00007ffc`fe72b6e3 NuGetPackageExplorer!PackageExplorer.App.Main()+0x52 2d 00000036`f037e400 00007ffc`fe639190 coreclr!CallDescrWorkerInternal+0x83 2e (Inline Function) --------`-------- coreclr!CallDescrWorkerWithHandler+0x5c [D:\workspace\_work\1\s\src\coreclr\vm\callhelpers.cpp @ 71] 2f 00000036`f037e440 00007ffc`fe6fb14b coreclr!MethodDescCallSite::CallTargetWorker+0x3f8 [D:\workspace\_work\1\s\src\coreclr\vm\callhelpers.cpp @ 555] 30 (Inline Function) --------`-------- coreclr!MethodDescCallSite::Call+0xb [D:\workspace\_work\1\s\src\coreclr\vm\callhelpers.h @ 458] 31 00000036`f037e5d0 00007ffc`fe6faf16 coreclr!RunMainInternal+0x11f [D:\workspace\_work\1\s\src\coreclr\vm\assembly.cpp @ 1478] 32 00000036`f037e700 00007ffc`fe6fac89 coreclr!RunMain+0xd2 [D:\workspace\_work\1\s\src\coreclr\vm\assembly.cpp @ 1549] 33 00000036`f037e7b0 00007ffc`fe6faa46 coreclr!Assembly::ExecuteMainMethod+0x1cd [D:\workspace\_work\1\s\src\coreclr\vm\assembly.cpp @ 1661] 34 00000036`f037eb40 00007ffc`fe6fa532 coreclr!CorHost2::ExecuteAssembly+0x1c6 [D:\workspace\_work\1\s\src\coreclr\vm\corhost.cpp @ 384] 35 00000036`f037ecb0 00007ffd`2d2194af coreclr!coreclr_execute_assembly+0xe2 [D:\workspace\_work\1\s\src\coreclr\dlls\mscoree\unixinterface.cpp @ 446] 36 (Inline Function) --------`-------- hostpolicy!coreclr_t::execute_assembly+0x2a [D:\workspace\_work\1\s\src\native\corehost\hostpolicy\coreclr.cpp @ 89] 37 00000036`f037ed50 00007ffd`2d2197dc hostpolicy!run_app_for_context+0x54f [D:\workspace\_work\1\s\src\native\corehost\hostpolicy\hostpolicy.cpp @ 255] 38 00000036`f037eef0 00007ffd`2d21a178 hostpolicy!run_app+0x3c [D:\workspace\_work\1\s\src\native\corehost\hostpolicy\hostpolicy.cpp @ 284] 39 00000036`f037ef30 00007ffd`3cabbf58 hostpolicy!corehost_main+0x108 [D:\workspace\_work\1\s\src\native\corehost\hostpolicy\hostpolicy.cpp @ 430] 3a 00000036`f037f0e0 00007ffd`3cabec97 hostfxr!execute_app+0x2e8 [D:\workspace\_work\1\s\src\native\corehost\fxr\fx_muxer.cpp @ 146] 3b 00000036`f037f1e0 00007ffd`3cac0fc2 hostfxr!`anonymous namespace'::read_config_and_execute+0x97 [D:\workspace\_work\1\s\src\native\corehost\fxr\fx_muxer.cpp @ 520] 3c 00000036`f037f2e0 00007ffd`3cabf2ed hostfxr!fx_muxer_t::handle_exec_host_command+0x152 [D:\workspace\_work\1\s\src\native\corehost\fxr\fx_muxer.cpp @ 1001] 3d 00000036`f037f380 00007ffd`3cab8ceb hostfxr!fx_muxer_t::execute+0x47d [D:\workspace\_work\1\s\src\native\corehost\fxr\fx_muxer.cpp @ 566] 3e 00000036`f037f4c0 00007ff6`e39b17cc hostfxr!hostfxr_main_startupinfo+0xab [D:\workspace\_work\1\s\src\native\corehost\fxr\hostfxr.cpp @ 61] 3f 00000036`f037f5c0 00007ff6`e39b1b3b apphost!exe_start+0x8bc [D:\workspace\_work\1\s\src\native\corehost\corehost.cpp @ 236] 40 00000036`f037f790 00007ff6`e39b2fe8 apphost!wmain+0xab [D:\workspace\_work\1\s\src\native\corehost\corehost.cpp @ 305] 41 (Inline Function) --------`-------- apphost!invoke_main+0x22 [D:\a01\_work\26\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 90] 42 00000036`f037f7c0 00007ffd`73ab7034 apphost!__scrt_common_main_seh+0x10c [D:\a01\_work\26\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288] 43 00000036`f037f800 00007ffd`74d82651 KERNEL32!BaseThreadInitThunk+0x14 [clientcore\base\win32\client\thread.c @ 64] 44 00000036`f037f830 00000000`00000000 ntdll!RtlUserThreadStart+0x21 [minkernel\ntdll\rtlstrt.c @ 1153] ```
The inner exception logical stack is ``` 0:000> !pe Exception object: 0000013b28b53810 Exception type: System.TypeInitializationException Message: The type initializer for 'System.Windows.Media.FontFamily' threw an exception. InnerException: System.TypeInitializationException, Use !PrintException 0000013B28B51C18 to see more. StackTrace (generated): SP IP Function 00000036F03788A0 00007FFCD21C7F2B PresentationFramework!MS.Internal.Text.DynamicPropertyReader.GetTypeface(System.Windows.DependencyObject)+0xdb 00000036F0378900 00007FFCD21CB7B7 PresentationFramework!MS.Internal.Text.TextProperties.InitCommon(System.Windows.DependencyObject)+0x17 00000036F0378950 00007FFCD21CB4FA PresentationFramework!MS.Internal.Text.TextProperties..ctor(System.Windows.FrameworkElement, Boolean)+0x6a 00000036F03789A0 00007FFCD2555C52 PresentationFramework!System.Windows.Controls.TextBlock.GetLineProperties()+0x32 00000036F0378A00 00007FFCD2555BE9 PresentationFramework!System.Windows.Controls.TextBlock.EnsureTextBlockCache()+0x39 00000036F0378A40 00007FFCD254FC71 PresentationFramework!System.Windows.Controls.TextBlock.MeasureOverride(System.Windows.Size)+0xa1 00000036F0378C20 00007FFCD21EA2DA PresentationFramework!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)+0x5aa 00000036F0378ED0 00007FFCD15775E4 PresentationCore!System.Windows.UIElement.Measure(System.Windows.Size)+0x3d4 00000036F0378FD0 00007FFCD247F205 PresentationFramework!System.Windows.Controls.AccessText.MeasureOverride(System.Windows.Size)+0x35 00000036F0379010 00007FFCD21EA2DA PresentationFramework!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)+0x5aa 00000036F03792C0 00007FFCD15775E4 PresentationCore!System.Windows.UIElement.Measure(System.Windows.Size)+0x3d4 00000036F03793C0 00007FFCD20D8D0A PresentationFramework!MS.Internal.Helper.MeasureElementWithSingleChild(System.Windows.UIElement, System.Windows.Size)+0x4a 00000036F0379410 00007FFCD2493C34 PresentationFramework!System.Windows.Controls.ContentPresenter.MeasureOverride(System.Windows.Size)+0x14 00000036F0379440 00007FFCD21EA2DA PresentationFramework!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)+0x5aa 00000036F03796F0 00007FFCD15775E4 PresentationCore!System.Windows.UIElement.Measure(System.Windows.Size)+0x3d4 00000036F03797F0 00007FFCD24D6800 PresentationFramework!System.Windows.Controls.DockPanel.MeasureOverride(System.Windows.Size)+0x130 00000036F03798C0 00007FFCD21EA2DA PresentationFramework!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)+0x5aa 00000036F0379B70 00007FFCD15775E4 PresentationCore!System.Windows.UIElement.Measure(System.Windows.Size)+0x3d4 00000036F0379C70 00007FFCD24E8AD4 PresentationFramework!System.Windows.Controls.Grid.MeasureOverride(System.Windows.Size)+0x114 00000036F0379DC0 00007FFCD21EA2DA PresentationFramework!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)+0x5aa 00000036F037A070 00007FFCD15775E4 PresentationCore!System.Windows.UIElement.Measure(System.Windows.Size)+0x3d4 00000036F037A170 00007FFCD2498D35 PresentationFramework!System.Windows.Controls.Control.MeasureOverride(System.Windows.Size)+0x55 00000036F037A1B0 00007FFCD21EA2DA PresentationFramework!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)+0x5aa 00000036F037A460 00007FFCD15775E4 PresentationCore!System.Windows.UIElement.Measure(System.Windows.Size)+0x3d4 00000036F037A560 00007FFCD25928DE PresentationFramework!System.Windows.Controls.WrapPanel.MeasureOverride(System.Windows.Size)+0x1ee 00000036F037A6D0 00007FFCD21EA2DA PresentationFramework!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)+0x5aa 00000036F037A980 00007FFCD15775E4 PresentationCore!System.Windows.UIElement.Measure(System.Windows.Size)+0x3d4 00000036F037AA80 00007FFCD20D8D0A PresentationFramework!MS.Internal.Helper.MeasureElementWithSingleChild(System.Windows.UIElement, System.Windows.Size)+0x4a 00000036F037AAD0 00007FFCD251A114 PresentationFramework!System.Windows.Controls.ItemsPresenter.MeasureOverride(System.Windows.Size)+0x14 00000036F037AB00 00007FFCD21EA2DA PresentationFramework!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)+0x5aa 00000036F037ADB0 00007FFCD15775E4 PresentationCore!System.Windows.UIElement.Measure(System.Windows.Size)+0x3d4 00000036F037AEB0 00007FFCD2482EE8 PresentationFramework!System.Windows.Controls.Border.MeasureOverride(System.Windows.Size)+0x2b8 00000036F037B000 00007FFCD21EA2DA PresentationFramework!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)+0x5aa 00000036F037B2B0 00007FFCD15775E4 PresentationCore!System.Windows.UIElement.Measure(System.Windows.Size)+0x3d4 00000036F037B3B0 00007FFCD2498D35 PresentationFramework!System.Windows.Controls.Control.MeasureOverride(System.Windows.Size)+0x55 00000036F037B3F0 00007FFCD21EA2DA PresentationFramework!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)+0x5aa 00000036F037B6A0 00007FFCD15775E4 PresentationCore!System.Windows.UIElement.Measure(System.Windows.Size)+0x3d4 00000036F037B7A0 00007FFCD24D6800 PresentationFramework!System.Windows.Controls.DockPanel.MeasureOverride(System.Windows.Size)+0x130 00000036F037B870 00007FFCD21EA2DA PresentationFramework!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)+0x5aa 00000036F037BB20 00007FFCD15775E4 PresentationCore!System.Windows.UIElement.Measure(System.Windows.Size)+0x3d4 00000036F037BC20 00007FFCD20D8D0A PresentationFramework!MS.Internal.Helper.MeasureElementWithSingleChild(System.Windows.UIElement, System.Windows.Size)+0x4a 00000036F037BC70 00007FFCD2493C34 PresentationFramework!System.Windows.Controls.ContentPresenter.MeasureOverride(System.Windows.Size)+0x14 00000036F037BCA0 00007FFCD21EA2DA PresentationFramework!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)+0x5aa 00000036F037BF50 00007FFCD15775E4 PresentationCore!System.Windows.UIElement.Measure(System.Windows.Size)+0x3d4 00000036F037C050 00007FFCD24D5250 PresentationFramework!System.Windows.Controls.Decorator.MeasureOverride(System.Windows.Size)+0x30 00000036F037C090 00007FFCD23869A5 PresentationFramework!System.Windows.Documents.AdornerDecorator.MeasureOverride(System.Windows.Size)+0x35 00000036F037C110 00007FFCD21EA2DA PresentationFramework!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)+0x5aa 00000036F037C3C0 00007FFCD15775E4 PresentationCore!System.Windows.UIElement.Measure(System.Windows.Size)+0x3d4 00000036F037C4C0 00007FFCD2482EE8 PresentationFramework!System.Windows.Controls.Border.MeasureOverride(System.Windows.Size)+0x2b8 00000036F037C610 00007FFCD21EA2DA PresentationFramework!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)+0x5aa 00000036F037C8C0 00007FFCD15775E4 PresentationCore!System.Windows.UIElement.Measure(System.Windows.Size)+0x3d4 00000036F037C9C0 00007FFCD2240668 PresentationFramework!System.Windows.Window.MeasureOverrideHelper(System.Windows.Size)+0x1b8 00000036F037CA70 00007FFCD223DAD4 PresentationFramework!System.Windows.Window.MeasureOverride(System.Windows.Size)+0x174 00000036F037CB00 00007FFCD21E9E02 PresentationFramework!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)+0xd2 00000036F037CDB0 00007FFCD15775E4 PresentationCore!System.Windows.UIElement.Measure(System.Windows.Size)+0x3d4 00000036F037CEB0 00007FFCD15599F9 PresentationCore!System.Windows.Interop.HwndSource.SetLayoutSize()+0x3e9 00000036F037CFF0 00007FFCD1558917 PresentationCore!System.Windows.Interop.HwndSource.set_RootVisualInternal(System.Windows.Media.Visual)+0x157 00000036F037D050 00007FFCD15587B6 PresentationCore!System.Windows.Interop.HwndSource.set_RootVisual(System.Windows.Media.Visual)+0x26 00000036F037D090 00007FFCD223FA55 PresentationFramework!System.Windows.Window.SetRootVisual()+0x45 00000036F037D0C0 00007FFCD223FAB9 PresentationFramework!System.Windows.Window.SetRootVisualAndUpdateSTC()+0x59 00000036F037D1F0 00007FFCD223F95C PresentationFramework!System.Windows.Window.SetupInitialState(Double, Double, Double, Double)+0x5dc 00000036F037D360 00007FFCD223F06A PresentationFramework!System.Windows.Window.CreateSourceWindow(Boolean)+0x3aa 00000036F037D530 00007FFCD223ECAF PresentationFramework!System.Windows.Window.CreateSourceWindowDuringShow()+0xf 00000036F037D560 00007FFCD224423E PresentationFramework!System.Windows.Window.SafeCreateWindowDuringShow()+0x3e 00000036F037D590 00007FFCD224449F PresentationFramework!System.Windows.Window.ShowHelper(System.Object)+0xbf 00000036F037D620 00007FFCD223B2A3 PresentationFramework!System.Windows.Window.Show()+0x53 00000036F037D650 00007FFCD1CE68C3 NuGetPackageExplorer!PackageExplorer.App+d__4.MoveNext()+0x1e3 00000036F037D7A0 00007FFC9F952CE8 System_Private_CoreLib!System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()+0x38 00000036F037D7D0 00007FFCD11F3F18 System_Private_CoreLib!System.Threading.Tasks.Task+<>c.b__140_0(System.Object)+0x18 00000036F037D800 00007FFCD1405466 WindowsBase!System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)+0xe6 00000036F037D860 00007FFCD14052E2 WindowsBase!System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)+0x32 StackTraceString: HResult: 80131534 0:000> !pe 0000013B28B51C18 Exception object: 0000013b28b51c18 Exception type: System.TypeInitializationException Message: The type initializer for 'MS.Internal.FontCache.DWriteFactory' threw an exception. InnerException: System.InvalidCastException, Use !PrintException 0000013B28B50338 to see more. StackTrace (generated): SP IP Function 00000036F03774C0 00007FFCD15CFE0F PresentationCore!MS.Internal.FontCache.DWriteFactory.get_SystemFontCollection()+0x1f 00000036F0377520 00007FFCD15B6614 PresentationCore!System.Windows.Media.FontFamily..cctor()+0x94 ```

So probably taking a look at the compilation of FontFamily's static constructor's call to SystemFontCollection getter could help.

Here's the disassembly for the static constructor ``` 0:000> !u 00007FFCD15B6614 preJIT generated code System.Windows.Media.FontFamily..cctor() ilAddr is 00007FFD1767D138 pImport is 000001EE4E62F350 Begin 00007FFCD15B6580, size d3 00007ffc`d15b6580 57 push rdi 00007ffc`d15b6581 56 push rsi 00007ffc`d15b6582 55 push rbp 00007ffc`d15b6583 53 push rbx 00007ffc`d15b6584 4883ec28 sub rsp,28h 00007ffc`d15b6588 33c0 xor eax,eax 00007ffc`d15b658a 4889442420 mov qword ptr [rsp+20h],rax 00007ffc`d15b658f ff15b3d7c502 call qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0xdbe738 (00007ffc`d4213d48)] 00007ffc`d15b6595 488bf0 mov rsi,rax 00007ffc`d15b6598 488d8ed0130000 lea rcx,[rsi+13D0h] 00007ffc`d15b659f 48894c2420 mov qword ptr [rsp+20h],rcx 00007ffc`d15b65a4 488b1575170103 mov rdx,qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0x1172710 (00007ffc`d45c7d20)] 00007ffc`d15b65ab 488b12 mov rdx,qword ptr [rdx] 00007ffc`d15b65ae 33c9 xor ecx,ecx 00007ffc`d15b65b0 ff154a53e102 call qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0xf762f0 (00007ffc`d43cb900)] 00007ffc`d15b65b6 488b4c2420 mov rcx,qword ptr [rsp+20h] 00007ffc`d15b65bb 488bd0 mov rdx,rax 00007ffc`d15b65be ff154c12c402 call qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0xda2200 (00007ffc`d41f7810)] 00007ffc`d15b65c4 ff15de08ca02 call qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0xe01898 (00007ffc`d4256ea8)] 00007ffc`d15b65ca 488bf8 mov rdi,rax 00007ffc`d15b65cd 4c8b0554170103 mov r8,qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0x1172718 (00007ffc`d45c7d28)] 00007ffc`d15b65d4 4d8b00 mov r8,qword ptr [r8] 00007ffc`d15b65d7 488bcf mov rcx,rdi 00007ffc`d15b65da 33d2 xor edx,edx 00007ffc`d15b65dc ff159652e102 call qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0xf76268 (00007ffc`d43cb878)] 00007ffc`d15b65e2 488d8ed8130000 lea rcx,[rsi+13D8h] 00007ffc`d15b65e9 488bd7 mov rdx,rdi 00007ffc`d15b65ec ff151e12c402 call qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0xda2200 (00007ffc`d41f7810)] 00007ffc`d15b65f2 ff15a0b9c402 call qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0xdac988 (00007ffc`d4201f98)] 00007ffc`d15b65f8 ff1592d8c502 call qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0xdbe880 (00007ffc`d4213e90)] 00007ffc`d15b65fe 488bb800170000 mov rdi,qword ptr [rax+1700h] 00007ffc`d15b6605 ff15350eca02 call qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0xe01e30 (00007ffc`d4257440)] 00007ffc`d15b660b 488bd8 mov rbx,rax 00007ffc`d15b660e ff158459e102 call qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0xf76988 (00007ffc`d43cbf98)] >>> 00007ffc`d15b6614 488be8 mov rbp,rax 00007ffc`d15b6617 488d4b10 lea rcx,[rbx+10h] 00007ffc`d15b661b 488bd7 mov rdx,rdi 00007ffc`d15b661e ff15ec11c402 call qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0xda2200 (00007ffc`d41f7810)] 00007ffc`d15b6624 488d4b08 lea rcx,[rbx+8] 00007ffc`d15b6628 488bd5 mov rdx,rbp 00007ffc`d15b662b ff15df11c402 call qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0xda2200 (00007ffc`d41f7810)] 00007ffc`d15b6631 488d8ee0130000 lea rcx,[rsi+13E0h] 00007ffc`d15b6638 488bd3 mov rdx,rbx 00007ffc`d15b663b ff15cf11c402 call qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0xda2200 (00007ffc`d41f7810)] 00007ffc`d15b6641 33c0 xor eax,eax 00007ffc`d15b6643 488986e8130000 mov qword ptr [rsi+13E8h],rax 00007ffc`d15b664a 4883c428 add rsp,28h 00007ffc`d15b664e 5b pop rbx 00007ffc`d15b664f 5d pop rbp 00007ffc`d15b6650 5e pop rsi 00007ffc`d15b6651 5f pop rdi 00007ffc`d15b6652 c3 ret ```
Here's the disassembly for the getter ``` 0:000> !u 00007FFCD15CFE0F preJIT generated code MS.Internal.FontCache.DWriteFactory.get_SystemFontCollection() ilAddr is 00007FFD176881BC pImport is 000001EE4F1F4970 Begin 00007FFCD15CFDF0, size e0 00007ffc`d15cfdf0 55 push rbp 00007ffc`d15cfdf1 56 push rsi 00007ffc`d15cfdf2 4883ec48 sub rsp,48h 00007ffc`d15cfdf6 488d6c2450 lea rbp,[rsp+50h] 00007ffc`d15cfdfb 33c0 xor eax,eax 00007ffc`d15cfdfd 488945f0 mov qword ptr [rbp-10h],rax 00007ffc`d15cfe01 488945d8 mov qword ptr [rbp-28h],rax 00007ffc`d15cfe05 488965d0 mov qword ptr [rbp-30h],rsp 00007ffc`d15cfe09 ff152121c302 call qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0xdac920 (00007ffc`d4201f30)] >>> 00007ffc`d15cfe0f ff155b3fc402 call qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0xdbe760 (00007ffc`d4213d70)] 00007ffc`d15cfe15 488bf0 mov rsi,rax 00007ffc`d15cfe18 4883be1814000000 cmp qword ptr [rsi+1418h],0 00007ffc`d15cfe20 7575 jne PresentationCore!MS.Internal.FontCache.DWriteFactory.get_SystemFontCollection()+0xa7 (00007ffc`d15cfe97) 00007ffc`d15cfe22 488b8e20140000 mov rcx,qword ptr [rsi+1420h] 00007ffc`d15cfe29 48894de8 mov qword ptr [rbp-18h],rcx 00007ffc`d15cfe2d 33d2 xor edx,edx 00007ffc`d15cfe2f 8955f0 mov dword ptr [rbp-10h],edx 00007ffc`d15cfe32 807df000 cmp byte ptr [rbp-10h],0 00007ffc`d15cfe36 750c jne PresentationCore!MS.Internal.FontCache.DWriteFactory.get_SystemFontCollection()+0x54 (00007ffc`d15cfe44) 00007ffc`d15cfe38 488d55f0 lea rdx,[rbp-10h] 00007ffc`d15cfe3c ff158600de02 call qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0xf5a8b8 (00007ffc`d43afec8)] 00007ffc`d15cfe42 eb07 jmp PresentationCore!MS.Internal.FontCache.DWriteFactory.get_SystemFontCollection()+0x5b (00007ffc`d15cfe4b) 00007ffc`d15cfe44 ff157600de02 call qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0xf5a8b0 (00007ffc`d43afec0)] 00007ffc`d15cfe4a cc int 3 00007ffc`d15cfe4b 4883be1814000000 cmp qword ptr [rsi+1418h],0 00007ffc`d15cfe53 7532 jne PresentationCore!MS.Internal.FontCache.DWriteFactory.get_SystemFontCollection()+0x97 (00007ffc`d15cfe87) 00007ffc`d15cfe55 488b8e10140000 mov rcx,qword ptr [rsi+1410h] 00007ffc`d15cfe5c 48894de0 mov qword ptr [rbp-20h],rcx 00007ffc`d15cfe60 3909 cmp dword ptr [rcx],ecx 00007ffc`d15cfe62 488d8e18140000 lea rcx,[rsi+1418h] 00007ffc`d15cfe69 48894dd8 mov qword ptr [rbp-28h],rcx 00007ffc`d15cfe6d 488b4de0 mov rcx,qword ptr [rbp-20h] 00007ffc`d15cfe71 33d2 xor edx,edx 00007ffc`d15cfe73 ff15b706e202 call qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0xf9af20 (00007ffc`d43f0530)] 00007ffc`d15cfe79 488b4dd8 mov rcx,qword ptr [rbp-28h] 00007ffc`d15cfe7d 488bd0 mov rdx,rax 00007ffc`d15cfe80 ff158a79c202 call qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0xda2200 (00007ffc`d41f7810)] 00007ffc`d15cfe86 90 nop 00007ffc`d15cfe87 807df000 cmp byte ptr [rbp-10h],0 00007ffc`d15cfe8b 740a je PresentationCore!MS.Internal.FontCache.DWriteFactory.get_SystemFontCollection()+0xa7 (00007ffc`d15cfe97) 00007ffc`d15cfe8d 488b4de8 mov rcx,qword ptr [rbp-18h] 00007ffc`d15cfe91 ff158901de02 call qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0xf5aa10 (00007ffc`d43b0020)] 00007ffc`d15cfe97 488b8618140000 mov rax,qword ptr [rsi+1418h] 00007ffc`d15cfe9e 488d65f8 lea rsp,[rbp-8] 00007ffc`d15cfea2 5e pop rsi 00007ffc`d15cfea3 5d pop rbp 00007ffc`d15cfea4 c3 ret 00007ffc`d15cfea5 55 push rbp 00007ffc`d15cfea6 56 push rsi 00007ffc`d15cfea7 4883ec28 sub rsp,28h 00007ffc`d15cfeab 488b6920 mov rbp,qword ptr [rcx+20h] 00007ffc`d15cfeaf 48896c2420 mov qword ptr [rsp+20h],rbp 00007ffc`d15cfeb4 488d6d50 lea rbp,[rbp+50h] 00007ffc`d15cfeb8 807df000 cmp byte ptr [rbp-10h],0 00007ffc`d15cfebc 740a je PresentationCore!MS.Internal.FontCache.DWriteFactory.get_SystemFontCollection()+0xd8 (00007ffc`d15cfec8) 00007ffc`d15cfebe 488b4de8 mov rcx,qword ptr [rbp-18h] 00007ffc`d15cfec2 ff155801de02 call qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func`2, System.Func`2)+0xf5aa10 (00007ffc`d43b0020)] 00007ffc`d15cfec8 90 nop 00007ffc`d15cfec9 4883c428 add rsp,28h 00007ffc`d15cfecd 5e pop rsi 00007ffc`d15cfece 5d pop rbp 00007ffc`d15cfecf c3 ret ```

The failure seems to be around:

call    qword ptr [System_Linq!System.Linq.Utilities.CombineSelectors[[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]](System.Func``2<System.__Canon,System.__Canon>, System.Func``2<System.__Canon,System.__Canon>)+0xdbe760 (00007ffcd4213d70)]

But there's something fishy with that offset, as that is in the middle of a function and it looks weird to call there.

hoyosjs commented 3 years ago

In case this is needed, repro steps:

git clone  https://github.com/NuGetPackageExplorer/NuGetPackageExplorer
git revert -m 1 2115ff0680f5f9aeee8eaf76e85df5b6106f7ea9

Then apply this patch:

diff --git a/Directory.Build.targets b/Directory.Build.targets
index d98c788..00dc0fd 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -13,6 +13,12 @@
     <Product Condition="'$(IsTypesProject)' != 'true'">$(Product) ($(Configuration)) ($(Platform))</Product>
   </PropertyGroup>

+  <ItemGroup>
+    <KnownCrossgen2Pack Update="Microsoft.NETCore.App.Crossgen2"
+                      Crossgen2PackVersion="6.0.0-preview.6.21306.9"
+                      />
+  </ItemGroup>
+
   <Target Name="AddCommitHashToAssemblyAttributes" BeforeTargets="GetAssemblyAttributes">
     <ItemGroup>
       <AssemblyAttribute Include="System.Reflection.AssemblyMetadataAttribute" Condition=" '$(SourceRevisionId)' != '' ">
diff --git a/NuGet.config b/NuGet.config
index b4ce125..62e1f45 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -1,9 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <configuration>
-  <packageSources>
+  <packageSources>
     <add key="NuGet CI packages" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/nuget-build/nuget/v3/index.json"  />
     <add key="dotnet-tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json"  />
     <add key="BuildPackages" value="https://pkgs.dev.azure.com/dotnet/NuGetPackageExplorer/_packaging/BuildPackages/nuget/v3/index.json" />
     <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
+    <add key="dotnet6" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v3/index.json" />
+    <add key="dotnet6-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6-transport/nuget/v3/index.json" />
   </packageSources>
 </configuration>
\ No newline at end of file

Replace the crossgen version in Directory.Build.targets for whichever version you need to use (as long as JIT or interface changes are not required this should be fine).

Then navigate to the PackageExplorer folder and run dotnet publish -c release /p:PublishReadyToRun=true /p:PublishReadyToRunComposite=true -r win-x64 /bl. Run NuGetPackageExplorer\PackageExplorer\bin\release\net6.0-windows10.0.19041\win-x64\publish\NuGetPackageExplorer.exe