anchor.diff:            |> Seq.exists isPortable
   
         let getAssemblyLocation (reference:ProjectReference) =
  +          let tryGetFromHintPath() =
  +              if reference.HintPath.IsNotNull then 
  +                  let path = reference.HintPath.FullPath |> string
  +                  Some (path.Replace("/Library/Frameworks/Mono.framework/External",
  +                                     "/Library/Frameworks/Mono.framework/Versions/Current/lib/mono"))
  +              else
  +                  None
  +
             match reference.ReferenceType with
             | ReferenceType.Assembly ->
  -              if reference.HintPath.IsNotNull then 
  -                  Some (reference.HintPath.FullPath |> string)
  -              else
  -                  None
  +              tryGetFromHintPath()
             | ReferenceType.Package ->
                     if isNull reference.Package then
  -                      None
  +                      tryGetFromHintPath()
                     else 
                         let assembly = 
                             reference.Package.Assemblies
  
positive.code:   /// parameters and assemblies referenced by the project ("-r" options)
    let generateCompilerOptions (project:DotNetProject, fsconfig:FSharpCompilerParameters, reqLangVersion, targetFramework, configSelector, shouldWrap) =
      let dashr = generateReferences (project, reqLangVersion, targetFramework, configSelector, shouldWrap) |> Array.ofSeq
      let files = project.Files|> Seq.map(fun f -> f.Name)
      let defines = fsconfig.DefineConstants.Split([| ';'; ','; ' ' |], StringSplitOptions.RemoveEmptyEntries)
      [  
         yield "--simpleresolution"
         yield "--noframework"
         for symbol in defines do yield "--define:" + symbol
         yield if fsconfig.HasDefineSymbol "DEBUG" then  "--debug+" else  "--debug-"
         yield if fsconfig.Optimize then "--optimize+" else "--optimize-"
         yield if fsconfig.GenerateTailCalls then "--tailcalls+" else "--tailcalls-"
         // TODO: This currently ignores escaping using "..."
         for arg in fsconfig.OtherFlags.Split([| ' ' |], StringSplitOptions.RemoveEmptyEntries) do
           yield arg 
  
negative.code:           //|> Async.AwaitTask
            //|> Async.RunSynchronously
            //|> Seq.map ((+) "-r:")
            |> Seq.append (portableReferences project)
            |> set
            //|> Set.map ((+) "-r:")
            |> Set.toList
  
    module ReferenceResolution =
  