Bari.Core.DefaultPluginLoader.LoadReference C# (CSharp) Method

LoadReference() private method

private LoadReference ( Uri referenceUri ) : string
referenceUri System.Uri
return string
        private string LoadReference(Uri referenceUri)
        {
            var dummyProject = new Project("dummy", new Module("dummy", new Suite(suiteRoot)));
            var referenceBuilder =
                referenceBuilderFactory.CreateReferenceBuilder(new Reference(referenceUri, ReferenceType.Build), dummyProject);

            var buildContext = buildContextFactory.CreateBuildContext();
            buildContext.AddBuilder(referenceBuilder);
            var files = buildContext.Run(referenceBuilder);
            var file = files.FirstOrDefault(f => Path.GetExtension(f).ToLowerInvariant() == ".dll");
            var localTargetRoot = (LocalFileSystemDirectory) targetRoot;

            if (file != null)
                return Path.Combine(localTargetRoot.AbsolutePath, file);
            else
                return null;
        }