Esempio n. 1
0
        public static LockFileTargetLibrary CreateLockFileTargetLibrary(LockFileProjectLibrary library,
                                                                        Runtime.Project projectInfo,
                                                                        RestoreContext context)
        {
            var lockFileLib = new LockFileTargetLibrary
            {
                Name = library.Name,
                Version = library.Version,
                Type = "project"
            };

            var targetFrameworkInfo = projectInfo.GetTargetFramework(context.FrameworkName);
            var dependencies = projectInfo.Dependencies.Concat(targetFrameworkInfo.Dependencies);

            foreach (var dependency in dependencies)
            {
                if (dependency.LibraryRange.IsGacOrFrameworkReference)
                {
                    lockFileLib.FrameworkAssemblies.Add(
                        LibraryRange.GetAssemblyName(dependency.LibraryRange.Name));
                }
                else
                {
                    lockFileLib.Dependencies.Add(new PackageDependency(
                        dependency.LibraryRange.Name,
                        dependency.LibraryRange.VersionRange));
                }
            }

            return lockFileLib;
        }