Jump to content

Inability to Open PKHeX due to Unhandled Exception Error


YZMGD

Recommended Posts

Hey y'all,

I downloaded and installed the most contemporary version of PKHeX today (2022.02.04), and was greeted with the following error. I also attempted to execute the developmental build, with the same result. I'm running the most contemporary version of Windows and .NET framework, so I'm at a loss on how to resolve. Any advice would be greatly appreciated!

Exception Details:
System.TypeInitializationException: The type initializer for 'PKHeX.WinForms.Main' threw an exception. ---> System.TypeInitializationException: The type initializer for 'PKHeX.Core.GameInfo' threw an exception. ---> System.TypeInitializationException: The type initializer for 'PKHeX.Core.Legal' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Numerics.Vectors, Version=4.1.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
   at System.SpanHelpers.IndexOf(Byte& searchSpace, Byte value, Int32 length)
   at PKHeX.Core.EggMoves2.GetArray(ReadOnlySpan`1 data, Int32 count)
   at PKHeX.Core.Legal..cctor()
   --- End of inner exception stack trace ---
   at PKHeX.Core.GameStrings.SanitizeItemNames()
   at PKHeX.Core.GameStrings.Sanitize()
   at PKHeX.Core.GameStrings..ctor(String l)
   at PKHeX.Core.GameInfo.GetStrings(Int32 index)
   at PKHeX.Core.GameInfo..cctor()
   --- End of inner exception stack trace ---
   at PKHeX.WinForms.Main..cctor()
   --- End of inner exception stack trace ---
   at PKHeX.WinForms.Main.FormLoadInitialSettings(IEnumerable`1 args, Boolean& showChangelog, Boolean& BAKprompt)
   at PKHeX.WinForms.Main..ctor()
   at PKHeX.WinForms.Program.Main()

Loaded Assemblies:
--------------------
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll

PKHeX, Version=22.2.5.0, Culture=neutral, PublicKeyToken=null
C:\Users\ltspl\Downloads\PKHeX-framework\PKHeX.exe

System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll

System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll

System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll

System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll

System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll

System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll

PKHeX.Core, Version=22.2.5.0, Culture=neutral, PublicKeyToken=null
C:\Users\ltspl\Downloads\PKHeX-framework\PKHeX.Core.dll

System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Memory\v4.0_4.0.1.1__cc7b13ffcd2ddd51\System.Memory.dll

netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\netstandard\v4.0_2.0.0.0__cc7b13ffcd2ddd51\netstandard.dll

System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.CompilerServices.Unsafe\v4.0_4.0.4.1__b03f5f7f11d50a3a\System.Runtime.CompilerServices.Unsafe.dll

System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Runtime\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.dll

--------------------
User Message:
An unhandled exception has occurred.
PKHeX must now close.
 

Link to comment
Share on other sites

As a quick follow-up, I can confirm legacy versions of PKHeX open and run just fine on this PC, and confirm that I was able to open this version on a different PC just fine. Hoping to identify potential causes for this error on my default PC.

Link to comment
Share on other sites

Confirming I removed any previous versions saved locally, redownloaded, extracted all contents from this download, and was met with a qualitatively-similar error, albeit with reference to the newest stable version. See below for reference:

Exception Details:
System.TypeInitializationException: The type initializer for 'PKHeX.WinForms.Main' threw an exception. ---> System.TypeInitializationException: The type initializer for 'PKHeX.Core.GameInfo' threw an exception. ---> System.TypeInitializationException: The type initializer for 'PKHeX.Core.Legal' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Numerics.Vectors, Version=4.1.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
   at System.SpanHelpers.IndexOf(Byte& searchSpace, Byte value, Int32 length)
   at PKHeX.Core.EggMoves2.GetArray(ReadOnlySpan`1 data, Int32 count)
   at PKHeX.Core.Legal..cctor()
   --- End of inner exception stack trace ---
   at PKHeX.Core.GameStrings.SanitizeItemNames()
   at PKHeX.Core.GameStrings.Sanitize()
   at PKHeX.Core.GameStrings..ctor(String l)
   at PKHeX.Core.GameInfo.GetStrings(Int32 index)
   at PKHeX.Core.GameInfo..cctor()
   --- End of inner exception stack trace ---
   at PKHeX.WinForms.Main..cctor()
   --- End of inner exception stack trace ---
   at PKHeX.WinForms.Main.FormLoadInitialSettings(IEnumerable`1 args, Boolean& showChangelog, Boolean& BAKprompt)
   at PKHeX.WinForms.Main..ctor()
   at PKHeX.WinForms.Program.Main()

Loaded Assemblies:
--------------------
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll

PKHeX, Version=22.2.4.0, Culture=neutral, PublicKeyToken=null
C:\Users\ltspl\Desktop\PKHeX (220204)\PKHeX.exe

System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll

System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll

System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll

System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll

System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll

System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll

PKHeX.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null


PKHeX.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null


System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Memory\v4.0_4.0.1.1__cc7b13ffcd2ddd51\System.Memory.dll

netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\netstandard\v4.0_2.0.0.0__cc7b13ffcd2ddd51\netstandard.dll

System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.CompilerServices.Unsafe\v4.0_4.0.4.1__b03f5f7f11d50a3a\System.Runtime.CompilerServices.Unsafe.dll

System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Runtime\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.dll

--------------------
User Message:
An unhandled exception has occurred.
PKHeX must now close.
 

Link to comment
Share on other sites

I have .NET Framework 4.8 installed, and all advanced services have been enabled for good measure. However, I'm still encountering the same unhandled exception error, so I'm not sure where else I can attempt to QA. Open to any leads!

Link to comment
Share on other sites

  • 2 weeks later...

@Kaphotics Curious if you've uncovered any other potentially problematic elements, as two versions have released since I documented this error, each providing the same result. For context, I can still open versions 22.01.01 and prior without this issue occurring.

Link to comment
Share on other sites

Unbelievably, I finally figured out this issue for anyone else experiencing a similar problem.

You'll notice on your exception details report the following:

System.IO.FileNotFoundException: Could not load file or assembly 'System.Numerics.Vectors, Version=4.1.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

Pay close attention to that version number, as that's likely your issue. The .NET Framework vectors (usually housed at a path like so: C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Numerics.Vectors) are extremely sensitive to versioning. If you're like me and experiencing difficulty launching new versions of PKHeX, it likely has to do with the vector version being referenced (which I highlighted above). 

Initially, my results at the above filepath looked like so:

enter image description here

You'll note the explicit needed version (4.1.3.0) isn't here, but a more contemporary one is (4.1.4.0). If you find yourself in a similar predicament, simply duplicate the most contemporary folder and change the reference version number to reflect what PKHeX is calling in your exception details report. You should end up with something like so:

enter image description here

After doing so, I booted up no problem! @Kaphotics, feel free to reference this note to others that express similar issues in the future after installing the most contemporary .NET Framework.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...