Skip to main content

PowerShell: Get Actual Error

I was having hard time to find the reason why I was not able to find a custom method in a .Net DLL.

Find your Assembly:


PS C:\vstsagent\A1\_work\r1\a\_DevOps_CI\Scripts> [appdomain]::currentdomain.getassemblies() | Where-Object FullName -Match "MyAssembly"



GAC    Version        Location

---    -------        --------

False  v4.0.30319     C:\vstsagent\A1\_work\r1\a\_DevOps_CI\Scripts\Tools\MyAssembly.dll



PS C:\vstsagent\A1\_work\r1\a\_DevOps_CI\Scripts> $a = [appdomain]::currentdomain.getassemblies() | Where-Object FullName -Match "MyAssembly"

PS C:\vstsagent\A1\_work\r1\a\_DevOps_CI\Scripts> $a



GAC    Version        Location

---    -------        --------

False  v4.0.30319     C:\vstsagent\A1\_work\r1\a\_DevOps_CI\Scripts\Tools\MyAssembly.dll


When I was trying to get the Types in the assembly, I was getting the exception:


PS C:\vstsagent\A1\_work\r1\a\_DevOps_CI\Scripts> $a.GetTypes()
Exception calling "GetTypes" with "0" argument(s): "Unable to load one or more of the requested types. Retrieve the
LoaderExceptions property for more information."
At line:1 char:1
+ $a.GetTypes()
+ ~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : ReflectionTypeLoadException

I tried to get the actual exception, but I was not able to get it. Then I found following code which displayed the actual exception:


PS C:\vstsagent\A1\_work\r1\a\_DevOps_CI\Scripts> $x = $Error[0]
>> $x.Exception.GetBaseException().LoaderExceptions

Could not load file or assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or
one of its dependencies. The system cannot find the file specified.
Could not load file or assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or
one of its dependencies. The system cannot find the file specified.
Could not load file or assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or
one of its dependencies. The system cannot find the file specified.


Comments

Popular posts from this blog

Notepad++ Error for 64bit - ShellExecute failed (2): Is this command correct?

Cause : It happens when you set Notepad++ to "run as" administrator on Windows 7. Fix:  To fix this, you need to manually edit the registry of your system to create a new option in pop-up menu to open files with Notepad++ Step 1 : Delete existing  Edit with Notepad++  entry from registry Go into your registry as an administrator (Run -> regedit) and search for notepad++.exe. Find the key under  HKEY_CLASSES_ROOT  that has an entry with the  Edit with Notepad++  (or maybe  Edit with &Notepad++ ) and delete the entire key. Right click and you should see that you no longer have that option. Step 2 : Create new entry Open with Notepad++ Go to: HKEY_CLASSES_ROOT\*\shell Create a new key under shell called  OpenWithNotepad  and create a subkey under that called  command . In the  OpenWithNotepad  key the default string is what you want the context menu item to be called. I set it to  Open with Notepad++ . Still in the  OpenWithNotepad  key, create a ne

fastboot device not deleted in Windows 10? Here is the fix

I was cleaning my closet and found my HTC Incredible S (which I had bought in 2011). I gave the phone some juice for few hours and booted it, surprisingly it was working :) I thought about rooting it and flashing with new rom in market. I searched xda fourm and found this  (Cynogen 13 based Rom for Incredible S). I started to flash it. but, my bootloader was still locked. I went to HTCDev to unlock the bootloader. but Fastboot was not able to detect my phone. After 3 hrs of internet searching I found this simple fix. I think this can work with all the android phones. you need to create a registry entry (below) and reboot the system(PC). [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\0BB40FF00100] "SkipBOSDescriptorQuery"=hex:01,00,00,00 after the registry fix, it worked liked a charm. Thanks