示例#1
0
        static ImmutableArray <ResolvedAssembly> Resolve(
            AgentType agentType,
            InteractivePackageManager project,
            FilePath frameworkPath)
        {
            var result    = ImmutableArray <ResolvedAssembly> .Empty;
            var stopwatch = new System.Diagnostics.Stopwatch();

            stopwatch.Start();
            try {
                return(result = new NativeDependencyResolver(agentType)
                                .AddAssemblySearchPath(frameworkPath.Combine("Facades"))
                                .AddAssemblySearchPath(frameworkPath)
                                .Resolve(project.InstalledPackages.SelectMany(
                                             p => p.AssemblyReferences)));
            } finally {
                stopwatch.Stop();
                Console.WriteLine("DependencyResolver.Resolve: {0} in {1}s",
                                  result.Length, stopwatch.Elapsed.TotalSeconds);
            }
        }
示例#2
0
        public void Write(TextWriter writer, InteractivePackageManager packageManager)
        {
            if (writer == null)
            {
                throw new ArgumentNullException(nameof(writer));
            }

            var manifestCell = Contents.FirstCell as YamlMetadataCell;

            if (manifestCell == null)
            {
                manifestCell = new YamlMetadataCell();
                if (Contents.FirstCell == null)
                {
                    Contents.AppendCell(manifestCell);
                }
                else
                {
                    Contents.InsertCellBefore(Contents.FirstCell, manifestCell);
                }
            }

            Manifest.Title = title;

            if (packageManager?.InstalledPackages != null)
            {
                Manifest.Packages = packageManager
                                    .InstalledPackages
                                    .Select(InteractivePackageDescription.FromInteractivePackage)
                                    .ToImmutableArray();
            }

            manifestCell.Buffer.Value = Manifest.ToString();

            Contents.Write(writer);

            Contents.RemoveCell(manifestCell);
        }