public void GetAssemblyNameVS2013ProjectTest() { using (Stream s = GetStreamForFile("MSBuild.Community.Tasks.csproj")) { ProjectFileParser p = new ProjectFileParser(s); Assert.AreEqual("MSBuild.Community.Tasks", p.GetAssemblyName()); } }
public void GetAssemblyNameFromFullNameTest() { using (Stream s = GetStreamForFile("MSBuild.Community.Tasks.csproj")) { ProjectFileParser p = new ProjectFileParser(s); Assert.AreEqual("Ionic.Zip.Reduced", p.GetAssemblyNameFromFullName("Ionic.Zip.Reduced, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c, processorArchitecture=MSIL")); } }
public void GetAssemblyNameVS2008ProjectTest() { using (Stream s = GetStreamForFile("DBInfo.CodeGen.csproj")) { ProjectFileParser p = new ProjectFileParser(s); Assert.AreEqual("DBInfo.CodeGen", p.GetAssemblyName()); } }
public void GetReferencesVS2008Test() { using (Stream s = GetStreamForFile("DBInfo.CodeGen.csproj")) { ProjectFileParser p = new ProjectFileParser(s); Assert.AreEqual("System", p.GetReferences().ToList()[0].Include); Assert.AreEqual("System.Core", p.GetReferences().ToList()[1].Include); } }
public void GetReferencesVS2013Test() { using (Stream s = GetStreamForFile("MSBuild.Community.Tasks.csproj")) { ProjectFileParser p = new ProjectFileParser(s); Assert.AreEqual("Ionic.Zip.Reduced, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c, processorArchitecture=MSIL", p.GetAssemblyReferences().ToList()[0].Include); Assert.AreEqual(@"..\packages\DotNetZip.Reduced.1.9.1.8\lib\net20\Ionic.Zip.Reduced.dll", p.GetAssemblyReferences().ToList()[0].HintPath); Assert.AreEqual("Microsoft.Build.Framework", p.GetAssemblyReferences().ToList()[1].Include); } }
/// <summary> /// Runs the task. /// </summary> /// <returns></returns> public override bool Execute() { if (InputFiles == null) { Log.LogError("No input files!"); return(false); } foreach (ITaskItem file in InputFiles) { var fullPath = file.GetMetadata("FullPath"); Log.LogMessage("Parsing " + fullPath); FileStream fs = new FileStream(fullPath, FileMode.Open, FileAccess.Read); using (fs) { ProjectFileParser p = new ProjectFileParser(fs); if (!Filtered(p.GetAssemblyName())) { if (String.IsNullOrEmpty(p.GetAssemblyName())) { Log.LogWarning("Não foi possível identificar AssemblyName para: " + file.GetMetadata("FullPath")); } foreach (ProjectReference r in p.GetReferences()) { if (String.IsNullOrEmpty(p.GetAssemblyNameFromFullName(r.Include))) { Log.LogWarning("Não foi possível identificar referência encontrada em : " + file.GetMetadata("FullPath")); } if (!Filtered(p.GetAssemblyNameFromFullName(r.Include))) { AddDependency(p.GetAssemblyName(), p.GetAssemblyNameFromFullName(r.Include)); } } } } } Stream s = GenerateGraphVizOutput(); LogToConsole(s); LogToFile(s); return(true); }
/// <summary> /// Runs the task. /// </summary> /// <returns></returns> public override bool Execute() { if (InputFiles == null) { Log.LogError("No input files!"); return false; } foreach (ITaskItem file in InputFiles) { var fullPath = file.GetMetadata("FullPath"); Log.LogMessage("Parsing " + fullPath); FileStream fs = new FileStream(fullPath, FileMode.Open, FileAccess.Read); using (fs) { ProjectFileParser p = new ProjectFileParser(fs); if (!Filtered(p.GetAssemblyName())) { if (String.IsNullOrEmpty(p.GetAssemblyName())) Log.LogWarning("Não foi possível identificar AssemblyName para: " + file.GetMetadata("FullPath")); foreach (ProjectReference r in p.GetReferences()) { if (String.IsNullOrEmpty(p.GetAssemblyNameFromFullName(r.Include))) Log.LogWarning("Não foi possível identificar referência encontrada em : " + file.GetMetadata("FullPath")); if (!Filtered(p.GetAssemblyNameFromFullName(r.Include))) AddDependency(p.GetAssemblyName(), p.GetAssemblyNameFromFullName(r.Include)); } } } } Stream s = GenerateGraphVizOutput(); LogToConsole(s); LogToFile(s); return true; }
/// <summary> /// updates parser dependent properties: <see cref="P:AssemblyName"/> and <see cref="P:ProjectGuid"/> /// </summary> /// <param name="parser"></param> public void Update(ProjectFileParser parser) { AssemblyName = parser.GetAssemblyName(); ProjectGuid = parser.GetGuid(); }
private static string MakeDisplayName(string include) { var result = ProjectFileParser.GetAssemblyNameFromFullName(include); return(string.IsNullOrEmpty(result) ? include : result); }
/// <summary> /// updates parser dependent properties: <see cref="P:AssemblyName"/> and <see cref="P:ProjectGuid"/> /// </summary> /// <param name="parser"></param> public void Update(ProjectFileParser parser) { AssemblyName = parser.GetAssemblyName(); ProjectGuid = parser.GetGuid(); }