public MicrosoftBuildProject(
            IMicrosoftBuildProjectLoader microsoftBuildProjectLoader,
            IMicrosoftBuildProjectAssemblyReferenceResolver assemblyReferenceResolver,
            FilePath projectFileName)
        {
            var sw = Stopwatch.StartNew();

            FileName = projectFileName;

            var msBuildProject = microsoftBuildProjectLoader.LoadMicrosoftBuildProject(projectFileName);

            AssemblyName = msBuildProject.GetPropertyValue("AssemblyName");
            AllowUnsafeBlocks = msBuildProject.GetBoolProperty("AllowUnsafeBlocks") ?? false;
            CheckForOverflowUnderflow = msBuildProject.GetBoolProperty("CheckForOverflowUnderflow") ?? false;

            DefineConstants =
                msBuildProject.GetPropertyValue("DefineConstants")
                    .Split(new[] {';'}, StringSplitOptions.RemoveEmptyEntries)
                    .Select(s => s.Trim());

            CompiledFileNames =
                msBuildProject.GetItems("Compile")
                    .Select(i => Path.Combine(msBuildProject.DirectoryPath, i.EvaluatedInclude));

            ReferencedAssemblies =
                assemblyReferenceResolver.ResolveReferences(msBuildProject);

            _log.DebugFormat("Project [{0}] built in [{1}] ms", Path.GetFileName(FileName.FullPath), sw.ElapsedMilliseconds);
        }
        public MicrosoftBuildProject(
            IMicrosoftBuildProjectLoader microsoftBuildProjectLoader,
            IMicrosoftBuildProjectAssemblyReferenceResolver assemblyReferenceResolver,
            FilePath projectFileName)
        {
            var sw = Stopwatch.StartNew();

            FileName = projectFileName;

            var msBuildProject = microsoftBuildProjectLoader.LoadMicrosoftBuildProject(projectFileName);

            AssemblyName              = msBuildProject.GetPropertyValue("AssemblyName");
            AllowUnsafeBlocks         = msBuildProject.GetBoolProperty("AllowUnsafeBlocks") ?? false;
            CheckForOverflowUnderflow = msBuildProject.GetBoolProperty("CheckForOverflowUnderflow") ?? false;

            DefineConstants =
                msBuildProject.GetPropertyValue("DefineConstants")
                .Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries)
                .Select(s => s.Trim());

            CompiledFileNames =
                msBuildProject.GetItems("Compile")
                .Select(i => Path.Combine(msBuildProject.DirectoryPath, i.EvaluatedInclude));

            ReferencedAssemblies =
                assemblyReferenceResolver.ResolveReferences(msBuildProject);


            _log.DebugFormat("Project [{0}] built in [{1}] ms", Path.GetFileName(FileName.FullPath), sw.ElapsedMilliseconds);
        }
        public override void MainSetup()
        {
            TestSpecificKernel = KernelFactory.BuildDefaultKernelForTests();

            EventProxy = TestSpecificKernel.Get <IVisualStudioEventProxy>()
                         //This is important, if the casting isn't done, then EventProxy isn't returned via IoC
                         as TestVisualStudioEventProxy;

            _MockFileWrapper = BuildMockFileReader();
            TestSpecificKernel.Rebind <IFileWrapper>().ToMethod(c => _MockFileWrapper);

            _MockMicrosoftBuildProjectLoader = BuildMockMicrosoftBuildProjectLoader();
            TestSpecificKernel.Rebind <IMicrosoftBuildProjectLoader>().ToMethod(c => _MockMicrosoftBuildProjectLoader);

            _MockCodeBehindFileHelper = BuildMockCodeBehindFileHelper();
            TestSpecificKernel.Rebind <ICodeBehindFileHelper>().ToMethod(c => _MockCodeBehindFileHelper);


            _MockSolution = new MockSolution();

            //Set solution context
            TestSpecificKernel.Get <ISolutionContext>().SolutionFileName =
                _MockSolution.FileName;
        }
Exemple #4
0
 public CSharpProjectFactory(IMicrosoftBuildProjectAssemblyReferenceResolver assemblyReferenceResolver, ICSharpFileFactory cSharpFileFactory, IMicrosoftBuildProjectLoader microsoftBuildProjectLoader)
 {
     _assemblyReferenceResolver   = assemblyReferenceResolver;
     _cSharpFileFactory           = cSharpFileFactory;
     _microsoftBuildProjectLoader = microsoftBuildProjectLoader;
 }
        public override void MainSetup()
        {
            TestSpecificKernel = KernelFactory.BuildDefaultKernelForTests();

            EventProxy = TestSpecificKernel.Get<IVisualStudioEventProxy>()
                //This is important, if the casting isn't done, then EventProxy isn't returned via IoC
                as TestVisualStudioEventProxy;

            _MockFileWrapper = BuildMockFileReader();
            TestSpecificKernel.Rebind<IFileWrapper>().ToMethod(c => _MockFileWrapper);

            _MockMicrosoftBuildProjectLoader = BuildMockMicrosoftBuildProjectLoader();
            TestSpecificKernel.Rebind<IMicrosoftBuildProjectLoader>().ToMethod(c => _MockMicrosoftBuildProjectLoader);

            _MockCodeBehindFileHelper = BuildMockCodeBehindFileHelper();
            TestSpecificKernel.Rebind<ICodeBehindFileHelper>().ToMethod(c => _MockCodeBehindFileHelper);

            _MockSolution = new MockSolution();

            //Set solution context
            TestSpecificKernel.Get<ISolutionContext>().SolutionFileName =
                _MockSolution.FileName;
        }
 public TestMicrosoftBuildProjectAssemblyReferenceResolver(IVisualStudioEventProxy visualStudioEventProxy, IMicrosoftBuildProjectLoader buildProjectLoader, ITaskFactory taskFactory) : base(visualStudioEventProxy, buildProjectLoader, taskFactory)
 {
 }
 public CachedMicrosoftBuildProjectAssemblyReferenceResolver(IVisualStudioEventProxy visualStudioEventProxy, IMicrosoftBuildProjectLoader buildProjectLoader, ITaskFactory taskFactory)
 {
     _buildProjectLoader = buildProjectLoader;
     _taskFactory        = taskFactory;
     WireUpVisualStudioEvents(visualStudioEventProxy);
 }
 public TestMicrosoftBuildProjectAssemblyReferenceResolver(IVisualStudioEventProxy visualStudioEventProxy, IMicrosoftBuildProjectLoader buildProjectLoader, ITaskFactory taskFactory)
     : base(visualStudioEventProxy, buildProjectLoader, taskFactory)
 {
 }
 public CachedMicrosoftBuildProjectAssemblyReferenceResolver(IVisualStudioEventProxy visualStudioEventProxy, IMicrosoftBuildProjectLoader buildProjectLoader, ITaskFactory taskFactory)
 {
     _buildProjectLoader = buildProjectLoader;
     _taskFactory = taskFactory;
     WireUpVisualStudioEvents(visualStudioEventProxy);
 }