@@ -351,6 +351,7 @@ public XElement ProjectFileXElement
351351 }
352352 }
353353 public List < string > ExcludedReferencedProjects { get ; } = new List < string > ( ) ;
354+ public List < string > IncludedReferencedProjects { get ; set ; } = new List < string > ( ) ;
354355 public bool Is64Bit { get ; set ; }
355356 public string RunSettingsFile { get ; set ; }
356357
@@ -384,17 +385,25 @@ public async System.Threading.Tasks.Task PrepareForCoverageAsync()
384385 EnsureDirectories ( ) ;
385386 CleanFCCDirectory ( ) ;
386387 SynchronizeBuildOutput ( ) ;
387- await SetExcludedReferencedProjectsAsync ( ) ;
388+ await SetIncludedExcludedReferencedProjectsAsync ( ) ;
388389 }
389390
390- private async System . Threading . Tasks . Task SetExcludedReferencedProjectsAsync ( )
391+ private async System . Threading . Tasks . Task SetIncludedExcludedReferencedProjectsAsync ( )
391392 {
392- List < ReferencedProject > referencedProjects = await SafeGetReferencedProjectsFromDteAsync ( ) ;
393+ List < ReferencedProject > referencedProjects = await GetReferencedProjectsAsync ( ) ;
394+ SetExcludedReferencedProjects ( referencedProjects ) ;
395+ SetIncludedReferencedProjects ( referencedProjects ) ;
396+ }
393397
394- if ( referencedProjects == null )
398+ private void SetIncludedReferencedProjects ( List < ReferencedProject > referencedProjects )
399+ {
400+ if ( settings . IncludeReferencedProjects )
395401 {
396- referencedProjects = await GetReferencedProjectsFromProjectFileAsync ( ) ;
402+ IncludedReferencedProjects = referencedProjects . Select ( referencedProject => referencedProject . AssemblyName ) . ToList ( ) ;
397403 }
404+ }
405+ private void SetExcludedReferencedProjects ( List < ReferencedProject > referencedProjects )
406+ {
398407 foreach ( var referencedProject in referencedProjects )
399408 {
400409 if ( referencedProject . ExcludeFromCodeCoverage )
@@ -403,6 +412,18 @@ private async System.Threading.Tasks.Task SetExcludedReferencedProjectsAsync()
403412 }
404413 }
405414 }
415+
416+ private async Task < List < ReferencedProject > > GetReferencedProjectsAsync ( )
417+ {
418+ List < ReferencedProject > referencedProjects = await SafeGetReferencedProjectsFromDteAsync ( ) ;
419+
420+ if ( referencedProjects == null )
421+ {
422+ referencedProjects = await GetReferencedProjectsFromProjectFileAsync ( ) ;
423+ }
424+ return referencedProjects ;
425+ }
426+
406427 private async Task < List < ReferencedProject > > SafeGetReferencedProjectsFromDteAsync ( )
407428 {
408429 try
0 commit comments