示例#1
0
 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;
         }
     }
 }
示例#2
0
 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;
         }
     }
 }