public string PackageFolderByReference(string packageId, string referencedAssembly) { var item = GetPackagesConfig(); if (item == null) { return(null); } var ver = PackageVersion(packageId, item.FileNames[0]); if (ver == null) { return(null); } var assemblyFolder = visualStudioService.ReferencedAssemblyFolder(referencedAssembly); var packageWithVersion = string.Format("{0}.{1}", packageId, ver).ToLower(); var idx = assemblyFolder.ToLower().IndexOf(packageWithVersion); return(assemblyFolder.Substring(0, idx)); }
private bool CanFindConsoleExeViaNuGetPackageReference() { var nbehave = nuget.ProjectPackageVersion("nbehave"); if (nbehave == null) { return(false); } var nbehave2 = visualStudioService.ReferencedAssemblyFolder("NBehave.Narrator.Framework"); while (!nbehave2.EndsWith("packages", StringComparison.CurrentCultureIgnoreCase)) { nbehave2 = Directory.GetParent(nbehave2).FullName; } var exe = LocateConsoleExeInPackageFolder(nbehave2); if (exe == null) { return(false); } return(File.Exists(exe)); }