private async Task CollectProjectsInformationAsync() { foreach (var currentProject in SolutionReferences) { var projectProcessor = new ProjectReferenceParser(); var projectReferences = projectProcessor.Process(await Context.Options.FileSystem.ReadAsync(currentProject.Before.AbsolutePath)); var historyInformations = new List <HistoryInformation>(); foreach (var projectReference in projectReferences) { var referenceHistory = new HistoryInformation(); referenceHistory.Before.RelativePath = projectReference.RelativePath; referenceHistory.Before.AbsolutePath = new PathMapper(currentProject.Before.AbsolutePath).GetAbsolutePath(projectReference.RelativePath); var futureReference = SolutionReferences.FirstOrDefault(d => string.Equals(d.Before.AbsolutePath, referenceHistory.Before.AbsolutePath, StringComparison.OrdinalIgnoreCase)); if (futureReference == null) { referenceHistory.After.AbsolutePath = referenceHistory.Before.AbsolutePath; referenceHistory.After.RelativePath = referenceHistory.Before.RelativePath; } else { referenceHistory.After.AbsolutePath = futureReference.After.AbsolutePath; referenceHistory.After.RelativePath = new PathMapper(currentProject.After.AbsolutePath).GetRelativePath(futureReference.After.AbsolutePath); } historyInformations.Add(referenceHistory); } ProjectReferences.Add(currentProject.Before.AbsolutePath, historyInformations); } }
public void Should_load_all_project_references() { var file = string.Format("TestResources{0}VS2008{0}CSharpNUnitTestProject.csproj", Path.DirectorySeparatorChar);; var parser = new ProjectReferenceParser(); var references = parser.GetAllProjectReferences(file); Assert.That(references.Count(), Is.EqualTo(1)); Assert.That(references.ElementAt(0), Is.EqualTo(@"..\CSharpClassLibrary\CSharpClassLibrary.csproj")); }
public void Should_load_all_references() { var file = string.Format("TestResources{0}VS2008{0}CSharpNUnitTestProject.csproj", Path.DirectorySeparatorChar); var parser = new ProjectReferenceParser(); var references = parser.GetAllBinaryReferences(file); Assert.That(references.Count(), Is.EqualTo(10)); Assert.That(references.ElementAt(0), Is.EqualTo("nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL")); Assert.That(references.ElementAt(1), Is.EqualTo("xunit, Version=1.5.0.1479, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c, processorArchitecture=MSIL")); Assert.That(references.ElementAt(2), Is.EqualTo("Machine.Specifications")); Assert.That(references.ElementAt(3), Is.EqualTo("Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL")); Assert.That(references.ElementAt(4), Is.EqualTo("System")); Assert.That(references.ElementAt(5), Is.EqualTo("System.Core")); Assert.That(references.ElementAt(6), Is.EqualTo("System.Xml.Linq")); Assert.That(references.ElementAt(7), Is.EqualTo("System.Data.DataSetExtensions")); Assert.That(references.ElementAt(8), Is.EqualTo("System.Data")); Assert.That(references.ElementAt(9), Is.EqualTo("System.Xml")); }
public async Task Verify() { var processor = new ProjectReferenceParser(); var entitiesReferences = processor.Process(await EmbeddedTestFileUtility.GetFileStream("MoveTests.Before.entities.csproj").ReadToEndAsync()); var efReferences = processor.Process(await EmbeddedTestFileUtility.GetFileStream("MoveTests.Before.ef.csproj").ReadToEndAsync()); entitiesReferences.Count.ShouldBe(0); efReferences.Count.ShouldBe(1); var expectedEfReferences = new[] { new ProjectReference(@"..\EF.Attempt1.Entities\EF.Attempt1.Entities.csproj"), }; for (int i = 0; i < expectedEfReferences.Length; i++) { expectedEfReferences.ShouldContain(expectedEfReferences[i]); } }