コード例 #1
0
 public TestWrapCommand(IFileSystem fileSystem,IPackageResolver resolver, IEnvironment environment, IPackageExporter exporter)
 {
     _fileSystem = fileSystem;
     _exporter = exporter;
     _resolver = resolver;
     _environment = environment;
 }
コード例 #2
0
 public TestWrapCommand(IFileSystem fileSystem, IPackageResolver resolver, IEnvironment environment, IPackageExporter exporter, IPackageManager manager)
 {
     _fileSystem  = fileSystem;
     _exporter    = exporter;
     _manager     = manager;
     _resolver    = resolver;
     _environment = environment;
 }
コード例 #3
0
        public OpenWrapApplicationBrowser(string repository, string[] debugWraps, ILogger logger = null)
        {
            m_Logger          = logger ?? NullLogger.Instance;
            m_ServiceRegistry = new ServiceRegistry();
            m_ServiceRegistry.Override <IPackageExporter>(() => new DefaultPackageExporter(new List <IExportProvider>
            {
                new DefaultAssemblyExporter(),
                new CecilCommandExporter(),
                new SolutionPluginExporter(),
                new NativeDllExporter(),
                new HostedApplicationExporter()
            }));
            m_ServiceRegistry.Initialize();



            if (Directory.Exists(DEBUG_REPO_FOLDER))
            {
                Directory.Delete(DEBUG_REPO_FOLDER, true);
            }
            if (debugWraps.Any())
            {
                Directory.CreateDirectory(DEBUG_REPO_FOLDER);
                foreach (var wrap in debugWraps)
                {
                    File.Copy(wrap, Path.Combine(Path.GetFullPath(DEBUG_REPO_FOLDER), Path.GetFileName(wrap)));
                }
                m_DebugRepo = new FolderRepository(new Win32Directory(DEBUG_REPO_FOLDER));
            }



            m_Exporter = ServiceLocator.GetService <IPackageExporter>();
            //m_RemoteRepository = getRepository(remoteRepository);

            m_PackageManager = ServiceLocator.GetService <IPackageManager>();
            m_Environment    = new ExecutionEnvironment
            {
                Platform = (IntPtr.Size == 4) ? "x86" : "x64",
                Profile  = (Environment.Version.Major >= 4) ? "net40" : "net35"
            };
            string localPath = Path.GetFullPath(repository);

            if (!Directory.Exists(localPath))
            {
                Directory.CreateDirectory(localPath);
            }
            m_ProjectRepository = new FolderRepository(new Win32Directory(localPath));
        }
コード例 #4
0
ファイル: GacResolver.cs プロジェクト: llenroc/openwrap
        public static ILookup <IPackageInfo, AssemblyName> InGac(this IPackageExporter exporter, IEnumerable <IPackageInfo> packages)
        {
            var domain = TempDomain();

            try
            {
                var loader = ((Loader)domain.CreateInstanceFromAndUnwrap(
                                  typeof(Loader).Assembly.Location,
                                  typeof(Loader).FullName));
                return((from package in packages.NotNull().Select(x => x.Load()).NotNull()
                        from assembly in exporter.Assemblies(package, ExecutionEnvironment.Any)
                        where loader.InGAC(assembly.AssemblyName)
                        select new { package, assembly.AssemblyName }
                        ).ToLookup(x => (IPackageInfo)x.package, x => x.AssemblyName));
            }
            catch
            {
                return((new AssemblyName[0]).ToLookup(x => (IPackageInfo)null));
            }
            finally
            {
                AppDomain.Unload(domain);
            }
        }
コード例 #5
0
 public static IEnumerable <Exports.IFile> Content(this IPackageExporter exporter, IPackage package)
 {
     return(package.Content.SelectMany(_ => _));
 }
コード例 #6
0
 public static IEnumerable <Exports.IAssembly> Assemblies(this IPackageExporter exporter, IPackage package, ExecutionEnvironment environment)
 {
     return(exporter.Exports <Exports.IAssembly>(package, environment).SelectMany(x => x));
 }
コード例 #7
0
 public DefaultPackageManager(IPackageDeployer deployer, IPackageResolver resolver, IPackageExporter exporter)
 {
     _deployer = deployer;
     _resolver = resolver;
     _exporter = exporter;
 }
コード例 #8
0
 public DefaultPackageManager(IPackageDeployer deployer, IPackageResolver resolver, IPackageExporter exporter)
 {
     _deployer = deployer;
     _exporter = exporter;
     _resolver = resolver;
 }