protected override void ExecuteCore() { using (var assemblyStream = new FileStream(IntermediateAssembly, FileMode.Open, FileAccess.Read, FileShare.Delete | FileShare.Read)) { try { using (PEReader peReader = new PEReader(assemblyStream)) { if (peReader.HasMetadata) { MetadataReader reader = peReader.GetMetadataReader(); if (!reader.IsAssembly) { Log.LogError(Strings.ClsidMapInvalidAssembly, IntermediateAssembly); return; } ClsidMap.Create(reader, ClsidMapDestinationPath); } } } catch (BadImageFormatException) { Log.LogError(Strings.ClsidMapInvalidAssembly, IntermediateAssembly); return; } } }