<p>One small function of a large program examines assemblies in a folder and replaces out-of-date assemblies with the latest versions.  To accomplish this, it needs to read the version numbers of the existing assembly files without actually loading those assemblies into the executing process.</p>

Use
```
AssemblyName.GetAssemblyName("assembly.dll");
```
, then parse the name. According to
MSDN
:
This will only work if the file
  contains an assembly manifest. This
  method causes the file to be opened
  and closed, but the assembly is not
  added to this domain.