anchor.diff:              CleanDir p
           | _ -> ()
   
  +    let ensureDir fileName =
  +        let parent = Path.GetDirectoryName fileName
  +        if not (Directory.Exists parent) then Directory.CreateDirectory parent |> ignore
  +
       let rec getFromCache (caches:Cache list) =
           match caches with
           | cache::rest ->
  
positive.code:                 let cacheFile = FileInfo(Path.Combine(cacheFolder,normalizedNupkgName))
                  if cacheFile.Exists && cacheFile.Length > 0L then
                      tracefn "Copying %O %O from cache %s" packageName version cache.Location
                      File.Copy(cacheFile.FullName,targetFileName)
                      true
                  else
                      let cacheFile = FileInfo(Path.Combine(cacheFolder,nupkgName))
                      if cacheFile.Exists && cacheFile.Length > 0L then
                          tracefn "Copying %O %O from cache %s" packageName version cache.Location
                          File.Copy(cacheFile.FullName,targetFileName)
                          true
                      else
  
negative.code: 
                      if authenticated && verbose then
                          tracefn "Downloading from %O to %s" !downloadUrl targetFileName
  
                      ensureDir targetFileName
  
                      use trackDownload = Profile.startCategory Profile.Category.NuGetDownload
  
  