@@ -262,14 +262,10 @@ static void RunPipeline(ProtectionPipeline pipeline, ConfuserContext context) {
262262 static void Inspection ( ConfuserContext context ) {
263263 context . Logger . Info ( "Resolving dependencies..." ) ;
264264 foreach ( var dependency in context . Modules
265- . SelectMany ( module => module . GetAssemblyRefs ( ) . Select ( asmRef => Tuple . Create ( asmRef , module ) ) ) ) {
266- try {
267- context . Resolver . ResolveThrow ( dependency . Item1 , dependency . Item2 ) ;
268- }
269- catch ( AssemblyResolveException ex ) {
270- context . Logger . ErrorException ( "Failed to resolve dependency of '" + dependency . Item2 . Name + "'." , ex ) ;
271- throw new ConfuserException ( ex ) ;
272- }
265+ . SelectMany ( module => module . GetAssemblyRefs ( ) . Select ( asmRef => ( asmRef , module ) ) ) ) {
266+ var assembly = context . Resolver . Resolve ( dependency . asmRef , dependency . module ) ;
267+ if ( assembly is null )
268+ context . Logger . Warn ( "Failed to resolve dependency '" + dependency . asmRef . FullName + "'." ) ;
273269 }
274270
275271 context . Logger . Debug ( "Checking Strong Name..." ) ;
@@ -311,7 +307,7 @@ static void CheckStrongName(ConfuserContext context, ModuleDef module) {
311307 else if ( isKeyProvided && ! moduleIsSignedOrDelayedSigned )
312308 context . Logger . WarnFormat ( "[{0}] SN Key or SN public Key is provided for an unsigned module, the output may not be working." , module . Name ) ;
313309 else if ( snPubKeyBytes != null && moduleIsSignedOrDelayedSigned &&
314- ! module . Assembly . PublicKey . Data . SequenceEqual ( snPubKeyBytes ) )
310+ ! module . Assembly . PublicKey . Data . SequenceEqual ( snPubKeyBytes ) )
315311 context . Logger . WarnFormat ( "[{0}] Provided SN public Key and signed module's public key do not match, the output may not be working." ,
316312 module . Name ) ;
317313 }
@@ -338,23 +334,23 @@ static void BeginModule(ConfuserContext context) {
338334 if ( ! context . CurrentModule . IsILOnly || context . CurrentModule . VTableFixups != null )
339335 context . RequestNative ( ) ;
340336
341- var snKey = context . Annotations . Get < StrongNameKey > ( context . CurrentModule , Marker . SNKey ) ;
342- var snPubKey = context . Annotations . Get < StrongNamePublicKey > ( context . CurrentModule , Marker . SNPubKey ) ;
343- var snSigKey = context . Annotations . Get < StrongNameKey > ( context . CurrentModule , Marker . SNSigKey ) ;
337+ var snKey = context . Annotations . Get < StrongNameKey > ( context . CurrentModule , Marker . SNKey ) ;
338+ var snPubKey = context . Annotations . Get < StrongNamePublicKey > ( context . CurrentModule , Marker . SNPubKey ) ;
339+ var snSigKey = context . Annotations . Get < StrongNameKey > ( context . CurrentModule , Marker . SNSigKey ) ;
344340 var snSigPubKey = context . Annotations . Get < StrongNamePublicKey > ( context . CurrentModule , Marker . SNSigPubKey ) ;
345341
346- var snDelaySig = context . Annotations . Get < bool > ( context . CurrentModule , Marker . SNDelaySig , false ) ;
347-
342+ var snDelaySig = context . Annotations . Get < bool > ( context . CurrentModule , Marker . SNDelaySig , false ) ;
343+
348344 context . CurrentModuleWriterOptions . DelaySign = snDelaySig ;
349345
350346 if ( snKey != null && snPubKey != null && snSigKey != null && snSigPubKey != null )
351347 context . CurrentModuleWriterOptions . InitializeEnhancedStrongNameSigning ( context . CurrentModule , snSigKey , snSigPubKey , snKey , snPubKey ) ;
352- else if ( snSigPubKey != null && snSigKey != null )
353- context . CurrentModuleWriterOptions . InitializeEnhancedStrongNameSigning ( context . CurrentModule , snSigKey , snSigPubKey ) ;
354- else
348+ else if ( snSigPubKey != null && snSigKey != null )
349+ context . CurrentModuleWriterOptions . InitializeEnhancedStrongNameSigning ( context . CurrentModule , snSigKey , snSigPubKey ) ;
350+ else
355351 context . CurrentModuleWriterOptions . InitializeStrongNameSigning ( context . CurrentModule , snKey ) ;
356352
357- if ( snDelaySig ) {
353+ if ( snDelaySig ) {
358354 context . CurrentModuleWriterOptions . StrongNamePublicKey = snPubKey ;
359355 context . CurrentModuleWriterOptions . StrongNameKey = null ;
360356 }
@@ -528,7 +524,7 @@ static void PrintEnvironmentInfo(ConfuserContext context) {
528524
529525 if ( context . Resolver != null ) {
530526 context . Logger . Error ( "Cached assemblies:" ) ;
531- foreach ( AssemblyDef asm in context . InternalResolver . GetCachedAssemblies ( ) ) {
527+ foreach ( var asm in context . InternalResolver . GetCachedAssemblies ( ) . Where ( a => ! ( a is null ) ) ) {
532528 if ( string . IsNullOrEmpty ( asm . ManifestModule . Location ) )
533529 context . Logger . ErrorFormat ( " {0}" , asm . FullName ) ;
534530 else
0 commit comments