예제 #1
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="NuGetPackageContainer{TItem}" /> class.
        /// </summary>
        /// <param name="packageManager">The NuGet package manager to use. Usually a <see cref="NuPlugPackageManager"/></param>
        /// <param name="assemblyResolver">A custom <see cref="IResolveAssembly"/>. If null, uses the default <see cref="AssemblyResolver"/>.</param>
        /// <exception cref="ArgumentNullException"></exception>
        public NuGetPackageContainer(IPackageManager packageManager, IResolveAssembly assemblyResolver = null) : base(assemblyResolver)
        {
            if (packageManager == null)
            {
                throw new ArgumentNullException(nameof(packageManager));
            }
            PackageManager = packageManager;

            foreach (var package in PackageManager.LocalRepository.GetPackages())
            {
                AddPackageDirectory(package);
            }

            PackageManager.PackageInstalled   += OnPackageInstalled;
            PackageManager.PackageUninstalled += OnPackageUninstalled;
        }
예제 #2
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="PackageContainer{TItem}" /> class.
 /// </summary>
 /// <param name="assemblyResolver">A custom <see cref="IResolveAssembly"/>. If null, uses the default <see cref="NuPlug.AssemblyResolver"/>.</param>
 public PackageContainer(IResolveAssembly assemblyResolver = null)
 {
     AssemblyResolver = assemblyResolver ?? new AssemblyResolver();
     Batch.AddPart(this);
     _container = new CompositionContainer(_catalog);
 }