Use StringComparison.OrdinalIgnoreCase instead of StringComparison.InvariantCultureIgnoreCase.
ProcessorArchitecture should be read from flags and not its own field. This fixes the bug that GetReferencedAssemblies() did not return the ProcessorArchitecture part of the assembly flags.
Moved FullName computation into a separate method.
Turned GetFullName() into a static more reusable method.
Fixed ResolveAssemblyRefImpl() to use AssemblyName.GetFullName() to fix a number of bugs:
- Name was not escaped.
- Retargetable and ContentType attributes were not added.
- PublicKey was not converted to PublicKeyToken.
Fixed handling of Retargetable and added PublicKeyToken remapping.