public LoadedAssembly LoadAssembly(string path, Extension requestingExtension, PackageDefinition packagingDefinition) { if (ValidatePackagePath(path, requestingExtension)) { UnpackPackageTask unpackPackageTask = new UnpackPackageTask(path, true); ProcessTaskDialog dialog = new ProcessTaskDialog(unpackPackageTask); dialog.ShowDialog(); if (dialog.TaskToExecute.IsCanceled) { return(null); } PackageCacheEntry unpackedPackage = unpackPackageTask.UnpackedPackage; string assemblyPath = Path.Combine(unpackedPackage.Folder, unpackedPackage.Manifest.DllPath); LoadAssemblyTask loadAssemblyTask = new LoadAssemblyTask(assemblyPath, requestingExtension); dialog = new ProcessTaskDialog(loadAssemblyTask); dialog.ShowDialog(); if (dialog.TaskToExecute.IsCanceled) { return(null); } loadAssemblyTask.LoadedAssembly.PackagePath = path; loadAssemblyTask.LoadedAssembly.InPackage = true; return(loadAssemblyTask.LoadedAssembly); } else { return(null); } }
public LoadedAssembly LoadAssembly(string path, Extension requestingExtension) { if (ValidatePath(path, requestingExtension)) { LoadAssemblyTask loadAssemblyTask = new LoadAssemblyTask(path, requestingExtension); ProcessTaskDialog dialog = new ProcessTaskDialog(loadAssemblyTask); dialog.ShowDialog(); if (dialog.TaskToExecute.IsCanceled) { return(null); } return(loadAssemblyTask.LoadedAssembly); } else { return(null); } }