<RuntimeDirectory>\System.IO.Compression.dll <RuntimeDirectory>\System.IO.Compression.FileSystem.dll // references: // System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // FSharp.Core, Version=4.4.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a // also tried with the nuget FSharp.Core package referenced which had the same info as above printfn "Compiled! Running..." // create a test zip to show the dll access seems to work fine. let testReference () = let p = Path.GetTempFileName() File.Delete(p) Directory.CreateDirectory(p) |> ignore let textFilePath = Path.Combine(p,"test.txt") File.WriteAllText(textFilePath,"test") let zipPath = let op = Path.GetTempFileName() File.Delete(op) // this method works fine, and lives in the SAME dll System.IO.Compression.ZipFile.CreateFromDirectory(p,op) op printfn "Created a zip file just fine at %s from %s" zipPath p File.Delete zipPath File.Delete textFilePath Directory.Delete p testReference() printfn "Test ref completed\r\n" let dumpReferenceInfo () = let asm = System.Reflection.Assembly.GetExecutingAssembly() asm.Modules.Dump() asm.GetReferencedAssemblies().Dump() // when not wrapped in a method the whole query doesn't seem to compile, or isn't able to start let openAZip() = try let zip = System.IO.Compression.ZipFile.Open("doesn't matter, missing method exception", Compression.ZipArchiveMode.Read) zip with ex -> dumpReferenceInfo() null printfn "trying!" try openAZip() |> ignore with ex -> dumpReferenceInfo() printfn "Failed" ex.Dump()