示例#1
0
 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);
     }
 }
示例#2
0
 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);
     }
 }