I'm trying to understand DLL identification in the GAC by parsing the top-voted answer in this StackOverflow question: What is the GAC in .NET?
The writer walks us through the tree structure for C:\Windows\assembly\GAC_64\System.Data and concludes with . . .
Here you can see version 2.0.0.0__b77a5c561934e089 of System.Data.
A DLL is identified by 5 parts:
Name Version Architecture Culture Public Key
... and that's the part I'm unclear on. Once I've gotten to the leaves of the tree how do I extract those 5 parts of the DLL's identification, and is there any relation to the name of the assembly?
In the example I'm working with the assemblies are directories with names like:
v4.0_2.0.6178.1045__d45c8e156fba2841
... and inside that directory there's a DLL with a name like
Ab3d.DXEngine.dll
... so how do I extract the five parts of its identification?
EDIT:
Lifu Huang, below suggested that there was a way to access ILDASM from visual studio. There wasn't a built-in way from mine (VS 2013) but there was a way to ADD it, described here: http://dailydotnettips.com/2016/01/05/did-you-know-you-can-launch-ildasm-tool-from-inside-visual-studio-itself-how/ ...so I did that and when I tried to run ILDASM on a DLL in the GAC I got an error from ILDASM saying "Protected module - cannot disassemble"