This project has moved. For the latest updates, please go here.

Filters command

Jan 22, 2013 at 3:10 PM
Edited Jan 22, 2013 at 3:15 PM

Hi

 

I am using the tool to produce a report from OpenCover.

I am attempting to exclude multiple assemblies from being generated in the report.

 

I am issuing the following powershell command

 

.\tools\ReportGenerator\ReportGenerator.exe -reports:coverage.xml -targetDir:.\buildartifacts\Coverage\ -filters:-Moq;-Castle;-Microsoft.ApplicationBlocks;-PowerCollections;-SD.LLBLGen

But I am getting the following error message:

Missing expression after unary operator '-'.At line:1 char:123+ .\tools\ReportGenerator\ReportGenerator.exe -reports:coverage.xml -targetDir:.\buildartifacts\Coverage2\ -filters:-Moq.*;- <<<< PowerCollections.*;-SD.*;-Microsoft.ApplicationBlocks.*;-MVCControllerTests.*    + CategoryInfo          : ParserError: (-:String) [], ParentContainsErrorRecordException    + FullyQualifiedErrorId : MissingExpressionAfterOperator

 

If I alter the -filters to remove all the - 

-filters:-Moq;Castle;Microsoft.ApplicationBlocks;PowerCollections;SD.LLBLGen

Then only the first assembly is not included in the output

and after the application completes, then I get the following error message:

 

The term 'PowerCollections.*' is not recognized as the name of a cmdlet, function, script file, or operable program. Ch
eck the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:140
+ .\tools\ReportGenerator\ReportGenerator.exe -reports:coverage.xml -targetDir:.\buildartifacts\Coverage2\ -filters:-Moq.*;PowerCollections.* <<<< ;SD.*;Microsoft.ApplicationBlocks.*;MVCControllerTests.*
    + CategoryInfo          : ObjectNotFound: (PowerCollections.*:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

The term 'SD.*' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:145
+ .\tools\ReportGenerator\ReportGenerator.exe -reports:coverage.xml -targetDir:.\buildartifacts\Coverage2\ -filters:-Moq.*;PowerCollections.*;SD.* <<<< ;Microsoft.ApplicationBlocks.*;MVCControllerTests.*
    + CategoryInfo          : ObjectNotFound: (SD.*:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

The term 'Microsoft.ApplicationBlocks.*' is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:175
+ .\tools\ReportGenerator\ReportGenerator.exe -reports:coverage.xml -targetDir:.\buildartifacts\Coverage2\ -filters:-Moq.*;PowerCollections.*;SD.*;Microsoft.ApplicationBlocks.* <<<< ;MVCControllerTests.*
    + CategoryInfo          : ObjectNotFound: (Microsoft.ApplicationBlocks.*:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

The term 'MVCControllerTests.*' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:196
+ .\tools\ReportGenerator\ReportGenerator.exe -reports:coverage.xml -targetDir:.\buildartifacts\Coverage2\ -filters:-Moq.*;PowerCollections.*;SD.*;Microsoft.ApplicationBlocks.*;MVCControllerTests.* <<<<
    + CategoryInfo          : ObjectNotFound: (MVCControllerTests.*:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

 

 

As a last resort I updated the command to have multiple filter statements, As before only one assembly is not included in the output

i.e 

-filters:-Moq -filters:-Castle-filters:-Microsoft.ApplicationBlocks-filters:-PowerCollections-filters:-SD.LLBLGen

 

What is the correct command line operation to exclude multiple assemblies when generating the report?

 

Thanks in advance

Coordinator
Jan 22, 2013 at 3:20 PM

If you add some quotes, it should work:

.\tools\ReportGenerator\ReportGenerator.exe -reports:coverage.xml -targetDir:.\buildartifacts\Coverage\ "-filters:-Moq;-Castle;-Microsoft.ApplicationBlocks;-PowerCollections;-SD.LLBLGen"

Does this work for you?

Jan 23, 2013 at 9:38 AM
Edited Jan 23, 2013 at 9:40 AM

Daniel

 

Thanks for that. I updated the command line as you suggested and it is now filtering out information.

.\tools\ReportGenerator\ReportGenerator.exe -reports:coverage.xml -targetDir:.\buildartifacts\Coverage2\ "-filters:-Moq;-Castle;-Microsoft.ApplicationBlocks;-PowerCollections;-SD.LLBLGen;-MVCControllerTests"

However, it was still not excluding the Microsoft.ApplicationBlocks I would have posted an image but I cannot add attachments.

 

When I first ran ReportGenerator, this is the assemblies that where included on the output 

Ecordia.Interfaces
Microsoft.ApplicationBlocks.ExceptionManagement
Microsoft.ApplicationBlocks.ExceptionManagement.Interfaces
Moq
MVCControllerTests
PowerCollections
SD.LLBLGen.Pro.ORMSupportClasses.NET20
TABusinessInterface
TADataGeneric
TASite
TrainingAssist.Model
TrainingAssistLibrary
TrainingAssistPresentationLibrary
UnitTestHelpers

After the change, the list of assemblies is now

Ecordia.Interfaces
Microsoft.ApplicationBlocks.ExceptionManagement
Microsoft.ApplicationBlocks.ExceptionManagement.Interfaces
PowerCollections
SD.LLBLGen.Pro.ORMSupportClasses.NET20
TABusinessInterface
TADataGeneric
TASite
TrainingAssist.Model
TrainingAssistLibrary
TrainingAssistPresentationLibrary
UnitTestHelpers

So I modified the command,

.\tools\ReportGenerator\ReportGenerator.exe -reports:coverage.xml -targetDir:.\buildartifacts\Coverage2\ "-filters:-Moq;-Castle;-Microsoft.ApplicationBlocks.*;-PowerCollections;-SD.LLBLGen.*;-MVCControllerTests"

and now I am getting the other assemblies excluded

Ecordia.Interfaces
TABusinessInterface
TADataGeneric
TASite
TrainingAssist.Model
TrainingAssistLibrary
TrainingAssistPresentationLibrary
UnitTestHelpers

Thank you for your help. 

 

Darren