public List<NugetPackageInfo> GetFlattenedDependencyPackages(NugetPackageInfo nugetPackage)
 {
     throw new NotImplementedException();
     //return new List<NugetPackageInfo>();
 }
        private NugetPackageInfo CreateNugetPackageInfoFromIPackage(IPackage matchingPackage)
        {
            var packageInfo = new NugetPackageInfo()
            {
                Info = new VersionInfo() { Name = matchingPackage.Id, VersionNumber = matchingPackage.Version.Version }
            };

            // sholmesby: May need to download packages to filesystem here. Then we can get the DLL version number.

            // sholmesby: how can we find out the version number of this assembly?
            //foreach(var assembly in matchingPackage.AssemblyReferences)
            //{
            //    Assembly.LoadFrom(  assembly.GetStream()
            //}

            int uniqueDLLCount = matchingPackage.AssemblyReferences.Select(x => x.EffectivePath).Distinct().Count();
            if (uniqueDLLCount > 1)
            {
                Console.WriteLine("---- '" + matchingPackage.Id + "' may contain more than 1 DLL.");
            }

            // sholmesby: find which package would be installed? could be any number of packages throughout a range of the VersionSpec.
            //matchingPackage.DependencySets.Select(package => package.Dependencies.Where(pack => pack.VersionSpec)

            return packageInfo;
        }