@@ -4,14 +4,27 @@ open Perf
44open System
55
66printfn" %A " fsi.CommandLineArgs
7- if fsi.CommandLineArgs.Length<> 3 then printfn" usage: fsi gen.fsx <directory> <size>"
7+ if fsi.CommandLineArgs.Length<> 4 then printfn" usage: fsi gen.fsx <directory> <size> <isNetStandard >"
88let D = string fsi.CommandLineArgs.[ 1 ]
99let N = int fsi.CommandLineArgs.[ 2 ]
10+ let isNetStandard = Boolean.Parse( fsi.CommandLineArgs.[ 3 ])
1011
1112try System.IO.Directory.Delete( D, true ) with _ -> ()
1213System.IO.Directory.CreateDirectory D
1314System.Environment.CurrentDirectory<- D
1415
16+ let fsharpProjectWrite =
17+ if isNetStandardthen
18+ FSharpProject.writeNetStandard
19+ else
20+ FSharpProject.write
21+
22+ let csharpProjectWrite =
23+ if isNetStandardthen
24+ CSharpProject.writeNetStandard
25+ else
26+ CSharpProject.write
27+
1528let writeDense ( dir : string ) ( projectType : ProjectType ) ( count : int ) =
1629
1730let extension = match projectTypewith FSharp-> " fsproj" | CSharp-> " csproj"
@@ -30,7 +43,7 @@ let writeDense (dir : string) (projectType : ProjectType) (count : int) =
3043let fileName = sprintf" %s .fs" name
3144yield fileName]
3245let project = { Name= name; Guid= guid; Files= files; References= references; BinaryReferences= [] }
33- let writer = match projectTypewith FSharp-> FSharpProject.write | CSharp-> CSharpProject.write
46+ let writer = match projectTypewith FSharp-> fsharpProjectWrite | CSharp-> csharpProjectWrite
3447 writer path project
3548
3649 projects|> List.iteri writeProject
@@ -62,7 +75,7 @@ let writeShallow (dir : string) (projectType : ProjectType) (count1 : int) (coun
6275let writeAProject ( name , guid ) =
6376let path = sprintf@" %s\%s\%s.%s" dir name name extension
6477let project = { Name= name; Guid= guid; Files= [] ; References= [] ; BinaryReferences= [] }
65- let writer = match projectTypewith FSharp-> FSharpProject.write | CSharp-> CSharpProject.write
78+ let writer = match projectTypewith FSharp-> fsharpProjectWrite | CSharp-> csharpProjectWrite
6679 writer path project
6780
6881let writeBProject ( name , guid ) =
@@ -71,7 +84,7 @@ let writeShallow (dir : string) (projectType : ProjectType) (count1 : int) (coun
7184let makeRef ( name , guid ) = { Name= name; Guid= guid; RelativePath= sprintf@" ..\%s\%s.%s" name name extension}
7285 aProjects|> List.map makeRef
7386let project = { Name= name; Guid= guid; Files= [] ; References= references; BinaryReferences= [] }
74- let writer = match projectTypewith FSharp-> FSharpProject.write | CSharp-> CSharpProject.write
87+ let writer = match projectTypewith FSharp-> fsharpProjectWrite | CSharp-> csharpProjectWrite
7588 writer path project
7689
7790 aProjects|> List.iter writeAProject
@@ -103,7 +116,7 @@ let writeDenseBin (dir : string) (projectType : ProjectType) (count : int) =
103116let makeRef ( name , guid ) : BinaryRef = { Name= name; RelativePath= sprintf@" ..\%s\bin\Debug\%s.dll" name name}
104117 projects.[ 0 .. i-1 ] |> List.map makeRef
105118let project = { Name= name; Guid= guid; Files= [] ; References= [] ; BinaryReferences= references}
106- let writer = match projectTypewith FSharp-> FSharpProject.write | CSharp-> CSharpProject.write
119+ let writer = match projectTypewith FSharp-> fsharpProjectWrite | CSharp-> csharpProjectWrite
107120 writer path project
108121
109122 projects|> List.iteri writeProject