@@ -116,57 +116,58 @@ type FscCommandLineBuilder () =
116116type [<Diagnostics.CodeAnalysis.SuppressMessage( " Microsoft.Naming" , " CA1704:IdentifiersShouldBeSpelledCorrectly" ) >] Fsc () as this=
117117inherit ToolTask()
118118let mutable baseAddress : string = null
119+ let mutable capturedArguments : string list = [] // list of individual args, to pass to HostObject Compile()
120+ let mutable capturedFilenames : string list = [] // list of individual source filenames, to pass to HostObject Compile()
119121let mutable codePage : string = null
122+ let mutable commandLineArgs : ITaskItem list = []
120123let mutable debugSymbols = false
121124let mutable debugType : string = null
122125let mutable defineConstants : ITaskItem [] = [||]
126+ let mutable delaySign : bool = false
123127let mutable disabledWarnings : string = null
124128let mutable documentationFile : string = null
129+ let mutable dotnetFscCompilerPath : string = null
125130let mutable embedAllSources = false
126131let mutable embed : string = null
127132let mutable generateInterfaceFile : string = null
133+ let mutable highEntropyVA : bool = false
128134let mutable keyFile : string = null
129135let mutable noFramework = false
130136let mutable optimize : bool = true
131- let mutable tailcalls : bool = true
132137let mutable otherFlags : string = null
133138let mutable outputAssembly : string = null
134139let mutable pdbFile : string = null
135140let mutable platform : string = null
136141let mutable prefer32bit : bool = false
142+ let mutable publicSign : bool = false
143+ let mutable provideCommandLineArgs : bool = false
137144let mutable references : ITaskItem [] = [||]
138145let mutable referencePath : string = null
139146let mutable resources : ITaskItem [] = [||]
147+ let mutable skipCompilerExecution : bool = false
140148let mutable sources : ITaskItem [] = [||]
141149let mutable sourceLink : string = null
150+ let mutable subsystemVersion : string = null
151+ let mutable tailcalls : bool = true
152+ let mutable targetProfile : string = null
142153let mutable targetType : string = null
143154let mutable toolExe : string = " fsc.exe"
144- let mutable warningLevel : string = null
145- let mutable treatWarningsAsErrors : bool = false
146- let mutable warningsAsErrors : string = null
147155let mutable toolPath : string =
148156let locationOfThisDll =
149157try Some( System.IO.Path.GetDirectoryName( typeof< FscCommandLineBuilder>. Assembly.Location))
150158with _ -> None
151159match FSharpEnvironment.BinFolderOfDefaultFSharpCompiler( locationOfThisDll) with
152160| Some s-> s
153161| None-> " "
162+ let mutable treatWarningsAsErrors : bool = false
163+ let mutable warningsAsErrors : string = null
154164let mutable versionFile : string = null
165+ let mutable warningLevel : string = null
155166let mutable win32res : string = null
156167let mutable win32manifest : string = null
157168let mutable vserrors : bool = false
158169let mutable vslcid : string = null
159170let mutable utf8output : bool = false
160- let mutable subsystemVersion : string = null
161- let mutable highEntropyVA : bool = false
162- let mutable targetProfile : string = null
163- let mutable dotnetFscCompilerPath : string = null
164- let mutable skipCompilerExecution : bool = false
165- let mutable provideCommandLineArgs : bool = false
166- let mutable commandLineArgs : ITaskItem list = []
167-
168- let mutable capturedArguments : string list = [] // list of individual args, to pass to HostObject Compile()
169- let mutable capturedFilenames : string list = [] // list of individual source filenames, to pass to HostObject Compile()
170171
171172#if ENABLE_ MONO_ SUPPORT
172173// The property YieldDuringToolExecution is not available on Mono.
@@ -216,6 +217,8 @@ type [<Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:Iden
216217 builder.AppendSwitchIfNotNull( " --sig:" , generateInterfaceFile)
217218// KeyFile
218219 builder.AppendSwitchIfNotNull( " --keyfile:" , keyFile)
220+ if delaySignthen builder.AppendSwitch( " --delaysign+" )
221+ if publicSignthen builder.AppendSwitch( " --publicsign+" )
219222// Optimize
220223if optimizethen
221224 builder.AppendSwitch( " --optimize+" )
@@ -341,6 +344,9 @@ type [<Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:Iden
341344member fsc.DebugType
342345with get() = debugType
343346and set ( s ) = debugType<- s
347+ member fsc.DelaySign
348+ with get() = delaySign
349+ and set ( s ) = delaySign<- s
344350// --nowarn <string>: Do not report the given specific warning.
345351member fsc.DisabledWarnings
346352with get() = disabledWarnings
@@ -412,6 +418,9 @@ type [<Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:Iden
412418member fsc.Prefer32Bit
413419with get() = prefer32bit
414420and set ( s ) = prefer32bit<- s
421+ member fsc.PublicSign
422+ with get() = publicSign
423+ and set ( s ) = publicSign<- s
415424// -r <string>: Reference an F# or .NET assembly.
416425member fsc.References
417426with get() = references