/// <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; }
/// <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); }