anchor.diff:                |> Set.ofList)
   
       member this.RemoveIfCompletelyEmpty() = 
  -        if Set.isEmpty (this.GetFrameworkAssembliesLazy.Force()) && Set.isEmpty (this.GetLibReferencesLazy.Force()) && Set.isEmpty (this.GetTargetsFilesLazy.Force()) then
  +        if Set.isEmpty (this.GetFrameworkAssembliesLazy.Force()) && Set.isEmpty (this.GetLibReferencesLazy.Force()) && Set.isEmpty (this.GetTargetsFilesLazy.Force()) && List.isEmpty this.Analyzers then
               InstallModel.EmptyModel(this.PackageName,this.PackageVersion)
           else
               this
  
positive.code: 
      member this.AddReference lib = 
          { this with References = Set.add (Reference.Library lib) this.References }
  
      member this.AddAnalyzer lib = 
          { this with References = Set.add (Reference.Analyzer lib) this.References }
  
      member this.AddTargetsFile targetsFile = 
          { this with References = Set.add (Reference.TargetsFile targetsFile) this.References }
  
negative.code:             | SinglePlatform t -> Some t
              | _ -> None)
  
  
  type AnalyzerLanguage = Any | CSharp | FSharp | VisualBasic
      with
          static member FromDirectoryName(str : string) =
              match str with
              | "cs" -> CSharp
              | "vb" -> VisualBasic
              | "fs" -> FSharp
              | _ -> Any
  
          static member FromDirectory(dir : DirectoryInfo) =
              AnalyzerLanguage.FromDirectoryName(dir.Name)
  
  type AnalyzerLib =
      {
          /// Path of the analyzer dll
          Path : string
          /// Target language for the analyzer
          Language : AnalyzerLanguage }
  
      static member FromFile(file : FileInfo) =
          {
              Path = file.FullName
              Language = AnalyzerLanguage.FromDirectory(file.Directory)
          }
  
  type InstallModel = 
      { PackageName : PackageName
        PackageVersion : SemVerInfo
        ReferenceFileFolders : LibFolder list
        TargetsFileFolders : LibFolder list
        Analyzers: AnalyzerLib list}
  
      static member EmptyModel(packageName, packageVersion) : InstallModel = 
          { PackageName = packageName
            PackageVersion = packageVersion
            ReferenceFileFolders = []
            TargetsFileFolders = [] 
            Analyzers = [] }
      
      member this.GetLibReferences(target : TargetProfile) = 
          match Seq.tryFind (fun lib -> Seq.exists (fun t -> t = target) lib.Targets) this.ReferenceFileFolders with
  