/// <summary> /// Construtor completo. /// </summary> /// <param name="repositoryDirectory">Diretório base do respositório.</param> /// <param name="assemblyFilesDirectories">Diretórios dos arquivos de assembly.</param> /// <param name="assemblyResolverManager">Instancia responsável por resolver os assemblies.</param> /// <param name="downloader">Instancia responsável pelo download dos assemblies.</param> /// <param name="validator">Instancia do validador dos pacotes.</param> /// <param name="assemblyInfoRepository">Repositório das informações do assembly.</param> public AssemblyRepository(string repositoryDirectory, string[] assemblyFilesDirectories, AssemblyResolverManager assemblyResolverManager, IAssemblyPackageDownloader downloader, IAssemblyPackageValidator validator, IAssemblyInfoRepository assemblyInfoRepository) { repositoryDirectory = repositoryDirectory ?? DefaultRepositoryDirectory; if (!System.IO.Directory.Exists(repositoryDirectory)) { System.IO.Directory.CreateDirectory(repositoryDirectory); } _assemblyFilesDirectories = assemblyFilesDirectories ?? new string[0]; _repositoryDirectory = repositoryDirectory; _assemblyResolverManager = assemblyResolverManager; _downloader = downloader; _validator = validator; _assemblyInfoRepository = assemblyInfoRepository; if (!System.IO.Directory.Exists(GetRepositoryFolder())) { System.IO.Directory.CreateDirectory(GetRepositoryFolder()); } }
protected virtual void Dispose(bool disposing) { if (_downloader != null) { _downloader.Dispose(); _downloader = null; } if (_startThread != null) { _startThread.Abort(); _startThread = null; } if (_assemblyResolverManager != null) { _assemblyResolverManager.Dispose(); _assemblyResolverManager = null; } foreach (var i in _packages) { i.Dispose(); } _packages.Clear(); }
/// <summary> /// Construtor padrão. /// </summary> /// <param name="repositoryDirectory">Diretório base do respositório.</param> /// <param name="assemblyFilesDirectories">Diretórios dos arquivos de assembly.</param> /// <param name="assemblyResolverManager">Instancia responsável por resolver os assemblies.</param> /// <param name="downloader">Instancia responsável pelo download dos assemblies.</param> /// <param name="validator">Instancia do validador dos pacotes.</param> public AssemblyRepository(string repositoryDirectory, string[] assemblyFilesDirectories, AssemblyResolverManager assemblyResolverManager, IAssemblyPackageDownloader downloader, IAssemblyPackageValidator validator) : this(repositoryDirectory, assemblyFilesDirectories, assemblyResolverManager, downloader, validator, null) { }