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 CSharpProjectFactory(IMicrosoftBuildProjectAssemblyReferenceResolver assemblyReferenceResolver, ICSharpFileFactory cSharpFileFactory, IMicrosoftBuildProjectLoader microsoftBuildProjectLoader) { _assemblyReferenceResolver = assemblyReferenceResolver; _cSharpFileFactory = cSharpFileFactory; _microsoftBuildProjectLoader = microsoftBuildProjectLoader; }