anchor.diff:    ZipFile.ExtractToDirectory(file + ".zip", file);
   
   let fetch_solution proxy (solution: string) = 
  -  let query = QueryExpression("solution")
  -  query.ColumnSet <- ColumnSet("uniquename", "friendlyname", "publisherid", "version");
  -  query.Criteria <- FilterExpression();
  -  query.Criteria.AddCondition("uniquename", ConditionOperator.Equal, solution);
  -  Seq.tryHead (CrmDataHelper.retrieveMultiple proxy query)
  +  let columnSet = ColumnSet("uniquename", "friendlyname", "publisherid", "version")
  +  CrmDataInternal.Entities.retrieveSolution proxy solution columnSet
   
   let create_solution (proxy: IOrganizationService) temporary_solution_name publisher = 
     printfn "Creating solution '%s'" temporary_solution_name;
  
positive.code:   |> Seq.iter (add_component_to_solution proxy target types workflows)
  
  let publish (proxy: IOrganizationService) = 
    let req = PublishAllXmlRequest ()
    printfn "Publishing all changes";
    proxy.Execute(req) |> ignore
  
  let fetchImportStatusOnce proxy (id: Guid) =
    let query = QueryExpression("importjob")
  
negative.code:   |> List.map (fun e -> e.Id)
        
  let private transfer_solution_components (proxy: IOrganizationService) sourceid target =
    log.Verbose "Transfering solution components to '%s'" target;
    let components = fetch_solution_components proxy sourceid
    let types = get_component_types proxy
    let workflows = get_workflows proxy sourceid
  