Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Run <a href="http://msdn.microsoft.com/en-us/library/aa309387%28v=VS.71%29.aspx">ildasm.exe</a> from the Visual Studio Command Prompt and open an arbitrary .NET exe or dll file. Double-click the Manifest and you'll for example see:</p> <pre><code>.assembly extern mscorlib { .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) .ver 2:0:0:0 } </code></pre> <p>Which tells you that the assembly you are looking at has a dependency on another assembly called mscorlib. Or in other words, the metadata of the assembly contains a reference to all the DLLs it has a dependency on. Look at the other .assembly directives to see the other dependencies, I picked one that you'll always find back.</p> <p>The <code>.ver</code> entry is important, that says which [AssemblyVersion] of mscorlib is needed. Version 2.0.0.0 in my case, could be 4.0.0.0 in your case. The two most common versions used for that particular assembly. Anything is possible for a custom assembly, the [AssemblyVersion] attribute is Very Important.</p> <p>The <code>.publickeytoken</code> is the part of the validity check, it helps to verify the strong name of the assembly at runtime. It happens when the assembly is loaded and strong name verification is enabled. It is only enabled when the assembly is retrieved from an untrusted location.</p> <p>Assemblies are loaded by the jitter whenever it needs to compiled code that uses a type that is defined in another assembly. It is the CLR's job to find that assembly from the info provided in the above .assembly reference. Do note how that info doesn't store the <em>path</em> to the file. The way the CLR locates that file is a long story by itself, well covered by the MSDN Library article about it.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload