anchor.diff:  open FSharp.Data.JsonExtensions
   open System
   open System.IO
  -
  -/// Dotnet cli installer script
  -let private dotnetCliInstaller = "https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0/scripts/obtain/dotnet-install.ps1"
  +open System.Security.Cryptography
  +open System.Text
  +
  +/// Get dotnet cli download uri
  +let private getDotnetCliInstallerUrl branch = sprintf "https://raw.githubusercontent.com/dotnet/cli/%s/scripts/obtain/dotnet-install.ps1" branch
   
   /// Dotnet cli default install directory (set to default localappdata dotnet dir). Update this to redirect all tool commands to different location. 
   let mutable DefaultDotnetCliDir = environVar "LocalAppData" @@ "Microsoft" @@ "dotnet"
  
positive.code: let DotnetCliInstall setParams =
      let param = DotNetCliInstallOptions.Default |> setParams  
  
      let installScript = 
          match param.AlwaysDownload || not(File.Exists(tempInstallerScript)) with
              | true -> downloadInstaller tempInstallerScript
              | false -> tempInstallerScript
  
      // set custom install directory
  
negative.code:     /// Parameter default values.
      static member Default = {
          AlwaysDownload = false
          InstallerBranch = "master"
          Channel = Future
          Version = Latest        
          CustomInstallDir = None
          Architecture = Auto        
  