public VisualStudioCodeGenerator(IVisualStudioProjectGenerator visualStudioProjectGenerator,
                                  IVisualStudioSolutionManager visualStudioSolutionManager,
                                  ICSharpCodeGeneratorFactory codeGeneratorFactory,
                                  IProjectFileNameComposer projectFileNameComposer,
                                  ICompileItemFileNameComposer compileItemFileNameComposer,
                                  IDirectory directory)
 {
     _projectGenerator            = Ensure.IsNotNull(visualStudioProjectGenerator, nameof(visualStudioProjectGenerator));
     _visualStudioSolutionManager = Ensure.IsNotNull(visualStudioSolutionManager, nameof(visualStudioSolutionManager));
     _codeGeneratorFactory        = Ensure.IsNotNull(codeGeneratorFactory, nameof(codeGeneratorFactory));
     _projectFileNameComposer     = Ensure.IsNotNull(projectFileNameComposer, nameof(projectFileNameComposer));
     _compileItemFileNameComposer = Ensure.IsNotNull(compileItemFileNameComposer, nameof(compileItemFileNameComposer));
     _directory = Ensure.IsNotNull(directory, nameof(directory));
 }
 public VisualStudioProjectAnalyser(IAnalyser[] analysers, IVisualStudioSolutionManager visualStudioSolutionManager)
 {
     _analysers = Ensure.IsNotNull(analysers, nameof(analysers));
     _visualStudioSolutionManager = Ensure.IsNotNull(visualStudioSolutionManager, nameof(visualStudioSolutionManager));
 }