コード例 #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 (BadImageFormatException)
         {
             Log.LogError(Strings.ClsidMapInvalidAssembly, IntermediateAssembly);
             return;
         }
     }
 }