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 (MissingGuidException missingGuid) { Log.LogError(Strings.ClsidMapExportedTypesRequireExplicitGuid, missingGuid.TypeName); } catch (ConflictingGuidException conflictingGuid) { Log.LogError(Strings.ClsidMapConflictingGuids, conflictingGuid.TypeName1, conflictingGuid.TypeName2, conflictingGuid.Guid.ToString()); } catch (BadImageFormatException) { Log.LogError(Strings.ClsidMapInvalidAssembly, IntermediateAssembly); return; } } }
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; } } }