fsprojects / FAKE

FAKE - F# Make
https://fake.build
Other
1.28k stars 581 forks source link

Problem with System.Memory resolution in 6.0.101 using System.Text.Json #2642

Closed marklam closed 2 years ago

marklam commented 2 years ago

Description

Using System.Text.Json from fake-cli 5.21.0 under dotnet 6.0.101 produces an error concerning ReadOnlyMemory<_>

Repro steps

dotnet fake build -f broken.fsx where broken.fsx is:

#if FAKE
#r """paket:
    source https://api.nuget.org/v3/index.json
    storage: none
    nuget System.Text.Json
    //"""
#endif

open System.Text.Json

let parseTools (json : string) =
    use toolManifestDocument = JsonDocument.Parse(%json)
    toolManifestDocument.RootElement.GetProperty("tools")

Expected behavior

Nothing in this case, but without the crash.

Actual behavior

The last restore is still up to date. Nothing left to do.
Script is not valid:
        unknown (1,0)-(1,0): Error FS0193: The module/namespace 'System' from compilation unit 'System.Runtime' did not contain the namespace, module or type 'ReadOnlyMemory`1'
        c:\temp\script\broken.fsx (12,31)-(12,56): Error FS1109: A reference to the type 'System.ReadOnlyMemory`1' in assembly 'System.Runtime' was found, but the type could not be found in that assembly
        c:\temp\script\broken.fsx (13,4)-(13,48): Error FS0072: Lookup on object of indeterminate type based on information prior to this program point. A type annotation may be needed prior to this program point to constrain the type of the object. This may allow the lookup to be resolved.

Known workarounds

None currently

Related information

yazeedobaid commented 2 years ago

@marklam I have tried your example with the new FAKE runner release 5.21.1 and it ran successfully. I have added a global.json file beside the script to force net 6.0.101 as you specified. Please note that I had to change the call for parse since it seems the method signature has changed in net 6.0.101, please see This is the script I test with:

#if FAKE
#r """paket:
    source https://api.nuget.org/v3/index.json
    storage: none
    nuget System.Text.Json
    //"""
#endif

open System.Text.Json

let parseTools (json : string) =
    let options =  new JsonDocumentOptions(AllowTrailingCommas = true)
    use toolManifestDocument = JsonDocument.Parse(json, options)
    toolManifestDocument.RootElement.GetProperty("tools")
marklam commented 2 years ago

There was a stray '%' in my repro case, but it didn't seem to mind the missing options parameter. It's possibly dependent on the ReadOnlyMemory<char> vs string type resolution, so I'm attaching a zip which has the Fake script ("broken.fsx") and the same thing in fsi syntax ("not-a-fake-script.fsx"), along with a global.json, the fake lock file and the output when I run it ("log.txt"). I've also added a global.json just in case that was a factor.

The fake script should read:

#if FAKE
#r """paket:
    source https://api.nuget.org/v3/index.json
    storage: none
    nuget System.Text.Json
    //"""
#endif

open System.Text.Json

let parseTools (json : string) =
    let opt = JsonDocumentOptions()
    use toolManifestDocument = JsonDocument.Parse(json, opt)
    toolManifestDocument.RootElement.GetProperty("tools")

And the output I get is:

C:\temp\brokenscript>dotnet --version
6.0.101

C:\temp\brokenscript>dotnet fsi not-a-fake-script.fsx

C:\temp\brokenscript>dotnet fake build -f broken.fsx
The last restore is still up to date. Nothing left to do.
Script is not valid:
        unknown (1,0)-(1,0): Error FS0193: The module/namespace 'System' from compilation unit 'System.Runtime' did not contain the namespace, module or type 'ReadOnlyMemory`1'
        C:\temp\brokenscript\broken.fsx (13,31)-(13,60): Error FS1109: A reference to the type 'System.ReadOnlyMemory`1' in assembly 'System.Runtime' was found, but the type could not be found in that assembly
        C:\temp\brokenscript\broken.fsx (14,4)-(14,48): Error FS0072: Lookup on object of indeterminate type based on information prior to this program point. A type annotation may be needed prior to this program point to constrain the type of the object. This may allow the lookup to be resolved.
Performance:
 - Cli parsing: 325 milliseconds
 - Packages: 130 milliseconds
 - Script compiling: 3 seconds
 - Runtime: 4 seconds

brokenscript.zip `

yazeedobaid commented 2 years ago

I tried the sample you provided and it ran successfully. Following is the output I got:

The last restore is still up to date. Nothing left to do.
C:\Users\YazeedObaid\Desktop\brokenscript\broken.fsx (14,4)-(14,57): Warning FS0052: The value has been copied to ensure the original is not mutated by this operation or because the copy is implicit when returning a struct from a member and another member is then accessed
C:\Users\YazeedObaid\Desktop\brokenscript\broken.fsx (16,0)-(16,0): Warning FS0988: Main module of program is empty: nothing will happen when it is run
Performance:
 - Cli parsing: 146 milliseconds
 - Packages: 48 milliseconds
 - Script analyzing: 12 milliseconds
 - Script running: 0 milliseconds
 - Script cleanup: 0 milliseconds
 - Runtime: 416 milliseconds

Can you please provide the output of dotnet --info and dotnet fake -vv build -f broken.fsx?

marklam commented 2 years ago

That's very odd. Here's the info you requested: dotnet --info

.NET SDK (reflecting any global.json):
 Version:   6.0.101
 Commit:    ef49f6213a

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.22000
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\6.0.101\

Host (useful for support):
  Version: 6.0.1
  Commit:  3a25a7f1cc

.NET SDKs installed:
  2.1.402 [C:\Program Files\dotnet\sdk]
  3.1.401 [C:\Program Files\dotnet\sdk]
  6.0.101 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.All 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 6.0.1 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

To install additional .NET runtimes or SDKs:
  https://aka.ms/dotnet-download

dotnet fake -vv build -f broken.fsx

runOrBuild ({ Script = Some "broken.fsx"
  ScriptArguments = []
  FsiArgLine = []
  Debug = false
  NoCache = false
  RestoreOnlyGroup = false
  VerboseLevel = VerbosePaket
  IsBuild = true })
FAKE 5 - F# Make (5.21.1) (this line is written to standard error, see https://github.com/fsharp/FAKE/issues/2066)
prepareAndRunScriptRedirect(Script: broken.fsx, fsiOptions: "")
Writing 'C:\temp\brokenscript\.fake\broken.fsx\intellisense.fsx'
Restoring with paket...
 - C:\temp\brokenscript\.fake\broken.fsx\.paket\Paket.Restore.targets already up-to-date
The last restore is still up to date. Nothing left to do.
Known dependencies:
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\Microsoft.Win32.Primitives.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\mscorlib.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\netstandard.dll (2.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.AppContext.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Collections.Concurrent.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Collections.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Collections.NonGeneric.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Collections.Specialized.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ComponentModel.Composition.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ComponentModel.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ComponentModel.EventBasedAsync.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ComponentModel.Primitives.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ComponentModel.TypeConverter.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Console.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Core.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Data.Common.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Data.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.Contracts.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.Debug.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.FileVersionInfo.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.Process.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.StackTrace.dll (4.0.4.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.TextWriterTraceListener.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.Tools.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.TraceSource.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.Tracing.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Drawing.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Drawing.Primitives.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Dynamic.Runtime.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Globalization.Calendars.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Globalization.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Globalization.Extensions.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.Compression.dll (4.1.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.Compression.FileSystem.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.Compression.ZipFile.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.FileSystem.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.FileSystem.DriveInfo.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.FileSystem.Primitives.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.FileSystem.Watcher.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.IsolatedStorage.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.MemoryMappedFiles.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.Pipes.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.UnmanagedMemoryStream.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Linq.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Linq.Expressions.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Linq.Parallel.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Linq.Queryable.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Http.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.NameResolution.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.NetworkInformation.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Ping.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Primitives.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Requests.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Security.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Sockets.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.WebHeaderCollection.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.WebSockets.Client.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.WebSockets.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Numerics.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ObjectModel.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Reflection.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Reflection.Extensions.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Reflection.Primitives.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Resources.Reader.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Resources.ResourceManager.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Resources.Writer.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.CompilerServices.VisualC.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Extensions.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Handles.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.InteropServices.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.InteropServices.RuntimeInformation.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Numerics.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Serialization.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Serialization.Formatters.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Serialization.Json.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Serialization.Primitives.dll (4.1.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Serialization.Xml.dll (4.1.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Claims.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Cryptography.Algorithms.dll (4.2.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Cryptography.Csp.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Cryptography.Encoding.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Cryptography.Primitives.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Cryptography.X509Certificates.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Principal.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.SecureString.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ServiceModel.Web.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Text.Encoding.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Text.Encoding.Extensions.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Text.RegularExpressions.dll (4.1.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.Overlapped.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.Tasks.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.Tasks.Parallel.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.Thread.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.ThreadPool.dll (4.0.12.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.Timer.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Transactions.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ValueTuple.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Web.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Windows.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.Linq.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.ReaderWriter.dll (4.1.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.Serialization.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.XDocument.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.XmlDocument.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.XmlSerializer.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.XPath.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.XPath.XDocument.dll (4.0.3.0)
         - lib: C:\Users\Mark\.nuget\packages\system.runtime.compilerservices.unsafe\6.0.0\lib\net6.0\System.Runtime.CompilerServices.Unsafe.dll (6.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\system.runtime.compilerservices.unsafe\6.0.0\lib\net6.0\System.Runtime.CompilerServices.Unsafe.dll (6.0.0.0)
         - lib: C:\Users\Mark\.nuget\packages\system.numerics.vectors\4.5.0\lib\netstandard2.0\System.Numerics.Vectors.dll (4.1.4.0)
         - lib: C:\Users\Mark\.nuget\packages\system.buffers\4.5.1\lib\netstandard2.0\System.Buffers.dll (4.0.3.0)
         - lib: C:\Users\Mark\.nuget\packages\system.threading.tasks.extensions\4.5.4\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll (4.2.0.1)
         - lib: C:\Users\Mark\.nuget\packages\system.memory\4.5.4\lib\netstandard2.0\System.Memory.dll (4.0.1.1)
         - lib: C:\Users\Mark\.nuget\packages\system.text.encodings.web\6.0.0\lib\net6.0\System.Text.Encodings.Web.dll (6.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\system.text.encodings.web\6.0.0\lib\net6.0\System.Text.Encodings.Web.dll (6.0.0.0)
         - lib: C:\Users\Mark\.nuget\packages\microsoft.bcl.asyncinterfaces\6.0.0\lib\netstandard2.0\Microsoft.Bcl.AsyncInterfaces.dll (6.0.0.0)
         - lib: C:\Users\Mark\.nuget\packages\system.text.json\6.0.1\lib\net6.0\System.Text.Json.dll (6.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\system.text.json\6.0.1\lib\net6.0\System.Text.Json.dll (6.0.0.0)
FSC Args: ["--debug:portable";
"--define:DOTNETCORE";
"--define:FAKE";
"--fullpaths";
"--noframework";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\Microsoft.Win32.Primitives.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\mscorlib.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\netstandard.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.AppContext.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Collections.Concurrent.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Collections.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Collections.NonGeneric.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Collections.Specialized.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ComponentModel.Composition.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ComponentModel.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ComponentModel.EventBasedAsync.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ComponentModel.Primitives.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ComponentModel.TypeConverter.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Console.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Core.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Data.Common.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Data.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.Contracts.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.Debug.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.FileVersionInfo.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.Process.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.StackTrace.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.TextWriterTraceListener.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.Tools.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.TraceSource.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.Tracing.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Drawing.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Drawing.Primitives.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Dynamic.Runtime.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Globalization.Calendars.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Globalization.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Globalization.Extensions.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.Compression.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.Compression.FileSystem.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.Compression.ZipFile.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.FileSystem.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.FileSystem.DriveInfo.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.FileSystem.Primitives.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.FileSystem.Watcher.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.IsolatedStorage.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.MemoryMappedFiles.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.Pipes.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.UnmanagedMemoryStream.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Linq.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Linq.Expressions.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Linq.Parallel.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Linq.Queryable.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Http.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.NameResolution.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.NetworkInformation.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Ping.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Primitives.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Requests.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Security.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Sockets.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.WebHeaderCollection.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.WebSockets.Client.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.WebSockets.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Numerics.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ObjectModel.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Reflection.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Reflection.Extensions.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Reflection.Primitives.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Resources.Reader.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Resources.ResourceManager.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Resources.Writer.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.CompilerServices.VisualC.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Extensions.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Handles.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.InteropServices.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.InteropServices.RuntimeInformation.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Numerics.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Serialization.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Serialization.Formatters.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Serialization.Json.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Serialization.Primitives.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Serialization.Xml.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Claims.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Cryptography.Algorithms.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Cryptography.Csp.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Cryptography.Encoding.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Cryptography.Primitives.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Cryptography.X509Certificates.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Principal.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.SecureString.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ServiceModel.Web.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Text.Encoding.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Text.Encoding.Extensions.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Text.RegularExpressions.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.Overlapped.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.Tasks.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.Tasks.Parallel.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.Thread.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.ThreadPool.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.Timer.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Transactions.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ValueTuple.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Web.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Windows.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.Linq.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.ReaderWriter.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.Serialization.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.XDocument.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.XmlDocument.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.XmlSerializer.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.XPath.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.XPath.XDocument.dll";
"-r:C:\Users\Mark\.nuget\packages\system.runtime.compilerservices.unsafe\6.0.0\lib\net6.0\System.Runtime.CompilerServices.Unsafe.dll";
"-r:C:\Users\Mark\.nuget\packages\system.text.encodings.web\6.0.0\lib\net6.0\System.Text.Encodings.Web.dll";
"-r:C:\Users\Mark\.nuget\packages\system.text.json\6.0.1\lib\net6.0\System.Text.Json.dll";
"--simpleresolution";
"--targetprofile:netcore";
"--nowin32manifest";
"--langversion:preview";
"--compilertool:C:\Users\Mark\.nuget\packages\fake-cli\5.21.1\tools\net6.0\any";
"-o";
"C:\temp\brokenscript\.fake\broken.fsx\broken_EB6A59086C6B93F4D87DA66263A7A992278967A7A90FE823EE4F9F0573CA9EC9.dll";
"C:\temp\brokenscript\broken.fsx"]
Global resolve event: FSharp.Compiler.Service.resources, Version=37.0.0.0, Culture=en-GB, PublicKeyToken=null
Global resolve event: FSharp.Compiler.Service.resources, Version=37.0.0.0, Culture=en, PublicKeyToken=null
Global resolve event: FSharp.Compiler.Service.resources, Version=37.0.0.0, Culture=en-GB, PublicKeyToken=null
Global resolve event: FSharp.Compiler.Service.resources, Version=37.0.0.0, Culture=en, PublicKeyToken=null
saving cache...
Script is not valid, see standard error for details.
Script is not valid:
        unknown (1,0)-(1,0): Error FS0193: The module/namespace 'System' from compilation unit 'System.Runtime' did not contain the namespace, module or type 'ReadOnlyMemory`1'
        C:\temp\brokenscript\broken.fsx (13,31)-(13,60): Error FS1109: A reference to the type 'System.ReadOnlyMemory`1' in assembly 'System.Runtime' was found, but the type could not be found in that assembly
        C:\temp\brokenscript\broken.fsx (14,4)-(14,48): Error FS0072: Lookup on object of indeterminate type based on information prior to this program point. A type annotation may be needed prior to this program point to constrain the type of the object. This may allow the lookup to be resolved.
Performance:
 - Cli parsing: 391 milliseconds
 - Packages: 206 milliseconds
 - Script compiling: 3 seconds
 - Runtime: 4 seconds

Thanks for taking the time to dig into this one!

marklam commented 2 years ago

Inspired by that debug output, I cleared all my nuget packages from C:\Users\Mark.nuget\packages, restored everything etc, and it fixed it. I guess it was just a case of doesn't work on my machine!

Sorry to have wasted your time with my broken config!

marklam commented 2 years ago

Ok, it's not as simple as I thought. If the global.json is present before the .fake folder is created, it's OK. If the global.json isn't present, here's what happens: dotnet --info

.NET SDK (reflecting any global.json):
 Version:   6.0.101
 Commit:    ef49f6213a

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.22000
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\6.0.101\

Host (useful for support):
  Version: 6.0.1
  Commit:  3a25a7f1cc

.NET SDKs installed:
  2.1.402 [C:\Program Files\dotnet\sdk]
  3.1.401 [C:\Program Files\dotnet\sdk]
  6.0.101 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.All 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 6.0.1 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

To install additional .NET runtimes or SDKs:
  https://aka.ms/dotnet-download

dotnet fake -vv build -f broken.fsx

runOrBuild ({ Script = Some "broken.fsx"
  ScriptArguments = []
  FsiArgLine = []
  Debug = false
  NoCache = false
  RestoreOnlyGroup = false
  VerboseLevel = VerbosePaket
  IsBuild = true })
FAKE 5 - F# Make (5.21.1) (this line is written to standard error, see https://github.com/fsharp/FAKE/issues/2066)
prepareAndRunScriptRedirect(Script: broken.fsx, fsiOptions: "")
Writing 'C:\temp\brokenscript\.fake\broken.fsx\intellisense.fsx'
Restoring with paket...
 - C:\temp\brokenscript\.fake\broken.fsx\.paket\Paket.Restore.targets already up-to-date
The last restore is still up to date. Nothing left to do.
Known dependencies:
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\Microsoft.Win32.Primitives.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\mscorlib.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\netstandard.dll (2.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.AppContext.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Collections.Concurrent.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Collections.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Collections.NonGeneric.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Collections.Specialized.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ComponentModel.Composition.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ComponentModel.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ComponentModel.EventBasedAsync.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ComponentModel.Primitives.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ComponentModel.TypeConverter.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Console.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Core.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Data.Common.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Data.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.Contracts.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.Debug.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.FileVersionInfo.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.Process.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.StackTrace.dll (4.0.4.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.TextWriterTraceListener.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.Tools.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.TraceSource.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.Tracing.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Drawing.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Drawing.Primitives.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Dynamic.Runtime.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Globalization.Calendars.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Globalization.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Globalization.Extensions.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.Compression.dll (4.1.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.Compression.FileSystem.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.Compression.ZipFile.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.FileSystem.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.FileSystem.DriveInfo.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.FileSystem.Primitives.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.FileSystem.Watcher.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.IsolatedStorage.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.MemoryMappedFiles.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.Pipes.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.UnmanagedMemoryStream.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Linq.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Linq.Expressions.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Linq.Parallel.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Linq.Queryable.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Http.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.NameResolution.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.NetworkInformation.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Ping.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Primitives.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Requests.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Security.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Sockets.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.WebHeaderCollection.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.WebSockets.Client.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.WebSockets.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Numerics.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ObjectModel.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Reflection.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Reflection.Extensions.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Reflection.Primitives.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Resources.Reader.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Resources.ResourceManager.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Resources.Writer.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.CompilerServices.VisualC.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Extensions.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Handles.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.InteropServices.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.InteropServices.RuntimeInformation.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Numerics.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Serialization.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Serialization.Formatters.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Serialization.Json.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Serialization.Primitives.dll (4.1.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Serialization.Xml.dll (4.1.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Claims.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Cryptography.Algorithms.dll (4.2.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Cryptography.Csp.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Cryptography.Encoding.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Cryptography.Primitives.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Cryptography.X509Certificates.dll (4.1.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Principal.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.SecureString.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ServiceModel.Web.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Text.Encoding.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Text.Encoding.Extensions.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Text.RegularExpressions.dll (4.1.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.Overlapped.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.Tasks.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.Tasks.Parallel.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.Thread.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.ThreadPool.dll (4.0.12.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.Timer.dll (4.0.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Transactions.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ValueTuple.dll (4.0.2.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Web.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Windows.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.Linq.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.ReaderWriter.dll (4.1.1.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.Serialization.dll (4.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.XDocument.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.XmlDocument.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.XmlSerializer.dll (4.0.11.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.XPath.dll (4.0.3.0)
         - ref: C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.XPath.XDocument.dll (4.0.3.0)
         - lib: C:\Users\Mark\.nuget\packages\system.runtime.compilerservices.unsafe\6.0.0\lib\net6.0\System.Runtime.CompilerServices.Unsafe.dll (6.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\system.runtime.compilerservices.unsafe\6.0.0\lib\net6.0\System.Runtime.CompilerServices.Unsafe.dll (6.0.0.0)
         - lib: C:\Users\Mark\.nuget\packages\system.numerics.vectors\4.5.0\lib\netstandard2.0\System.Numerics.Vectors.dll (4.1.4.0)
         - lib: C:\Users\Mark\.nuget\packages\system.buffers\4.5.1\lib\netstandard2.0\System.Buffers.dll (4.0.3.0)
         - lib: C:\Users\Mark\.nuget\packages\system.threading.tasks.extensions\4.5.4\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll (4.2.0.1)
         - lib: C:\Users\Mark\.nuget\packages\system.memory\4.5.4\lib\netstandard2.0\System.Memory.dll (4.0.1.1)
         - lib: C:\Users\Mark\.nuget\packages\system.text.encodings.web\6.0.0\lib\net6.0\System.Text.Encodings.Web.dll (6.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\system.text.encodings.web\6.0.0\lib\net6.0\System.Text.Encodings.Web.dll (6.0.0.0)
         - lib: C:\Users\Mark\.nuget\packages\microsoft.bcl.asyncinterfaces\6.0.0\lib\netstandard2.0\Microsoft.Bcl.AsyncInterfaces.dll (6.0.0.0)
         - lib: C:\Users\Mark\.nuget\packages\system.text.json\6.0.1\lib\net6.0\System.Text.Json.dll (6.0.0.0)
         - ref: C:\Users\Mark\.nuget\packages\system.text.json\6.0.1\lib\net6.0\System.Text.Json.dll (6.0.0.0)
FSC Args: ["--debug:portable";
"--define:DOTNETCORE";
"--define:FAKE";
"--fullpaths";
"--noframework";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\Microsoft.Win32.Primitives.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\mscorlib.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\netstandard.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.AppContext.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Collections.Concurrent.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Collections.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Collections.NonGeneric.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Collections.Specialized.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ComponentModel.Composition.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ComponentModel.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ComponentModel.EventBasedAsync.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ComponentModel.Primitives.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ComponentModel.TypeConverter.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Console.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Core.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Data.Common.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Data.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.Contracts.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.Debug.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.FileVersionInfo.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.Process.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.StackTrace.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.TextWriterTraceListener.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.Tools.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.TraceSource.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Diagnostics.Tracing.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Drawing.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Drawing.Primitives.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Dynamic.Runtime.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Globalization.Calendars.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Globalization.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Globalization.Extensions.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.Compression.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.Compression.FileSystem.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.Compression.ZipFile.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.FileSystem.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.FileSystem.DriveInfo.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.FileSystem.Primitives.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.FileSystem.Watcher.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.IsolatedStorage.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.MemoryMappedFiles.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.Pipes.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.IO.UnmanagedMemoryStream.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Linq.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Linq.Expressions.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Linq.Parallel.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Linq.Queryable.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Http.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.NameResolution.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.NetworkInformation.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Ping.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Primitives.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Requests.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Security.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.Sockets.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.WebHeaderCollection.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.WebSockets.Client.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Net.WebSockets.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Numerics.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ObjectModel.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Reflection.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Reflection.Extensions.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Reflection.Primitives.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Resources.Reader.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Resources.ResourceManager.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Resources.Writer.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.CompilerServices.VisualC.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Extensions.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Handles.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.InteropServices.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.InteropServices.RuntimeInformation.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Numerics.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Serialization.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Serialization.Formatters.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Serialization.Json.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Serialization.Primitives.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Runtime.Serialization.Xml.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Claims.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Cryptography.Algorithms.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Cryptography.Csp.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Cryptography.Encoding.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Cryptography.Primitives.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Cryptography.X509Certificates.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.Principal.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Security.SecureString.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ServiceModel.Web.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Text.Encoding.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Text.Encoding.Extensions.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Text.RegularExpressions.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.Overlapped.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.Tasks.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.Tasks.Parallel.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.Thread.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.ThreadPool.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Threading.Timer.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Transactions.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.ValueTuple.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Web.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Windows.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.Linq.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.ReaderWriter.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.Serialization.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.XDocument.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.XmlDocument.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.XmlSerializer.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.XPath.dll";
"-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Xml.XPath.XDocument.dll";
"-r:C:\Users\Mark\.nuget\packages\system.runtime.compilerservices.unsafe\6.0.0\lib\net6.0\System.Runtime.CompilerServices.Unsafe.dll";
"-r:C:\Users\Mark\.nuget\packages\system.text.encodings.web\6.0.0\lib\net6.0\System.Text.Encodings.Web.dll";
"-r:C:\Users\Mark\.nuget\packages\system.text.json\6.0.1\lib\net6.0\System.Text.Json.dll";
"--simpleresolution";
"--targetprofile:netstandard";
"--nowin32manifest";
"--langversion:preview";
"--compilertool:C:\Users\Mark\.nuget\packages\fake-cli\5.21.1\tools\net6.0\any";
"-o";
"C:\temp\brokenscript\.fake\broken.fsx\broken_EB6A59086C6B93F4D87DA66263A7A992278967A7A90FE823EE4F9F0573CA9EC9.dll";
"C:\temp\brokenscript\broken.fsx"]
Global resolve event: FSharp.Compiler.Service.resources, Version=37.0.0.0, Culture=en-GB, PublicKeyToken=null
Global resolve event: FSharp.Compiler.Service.resources, Version=37.0.0.0, Culture=en, PublicKeyToken=null
Global resolve event: FSharp.Compiler.Service.resources, Version=37.0.0.0, Culture=en-GB, PublicKeyToken=null
Global resolve event: FSharp.Compiler.Service.resources, Version=37.0.0.0, Culture=en, PublicKeyToken=null
saving cache...
Script is not valid, see standard error for details.
Script is not valid:
        unknown (1,0)-(1,0): Error FS0193: The module/namespace 'System' from compilation unit 'System.Runtime' did not contain the namespace, module or type 'ReadOnlyMemory`1'
        C:\temp\brokenscript\broken.fsx (13,31)-(13,60): Error FS1109: A reference to the type 'System.ReadOnlyMemory`1' in assembly 'System.Runtime' was found, but the type could not be found in that assembly
        C:\temp\brokenscript\broken.fsx (14,4)-(14,48): Error FS0072: Lookup on object of indeterminate type based on information prior to this program point. A type annotation may be needed prior to this program point to constrain the type of the object. This may allow the lookup to be resolved.
Performance:
 - Cli parsing: 699 milliseconds
 - Packages: 1 second
 - Script compiling: 6 seconds
 - Runtime: 9 seconds
yazeedobaid commented 2 years ago

If you look at the reference assemblies, they are from Netstandard.Library. So FAKE runner defaulted to using Netstandard2.0 reference assemblies instead of Net6. "-r:C:\Users\Mark\.nuget\packages\netstandard.library\2.0.0\build\netstandard2.0\ref\System.Numerics.dll";

When adding and removing the global.json file, you need to delete the FAKE cache directory to re-compile

marklam commented 2 years ago

Is it by design that without a global.json the reference assemblies are used instead of .net6 ?

yazeedobaid commented 2 years ago

Yes, previously FAKE runner was using reference assemblies from this library Netstandard.Library version 2.0.3. In that case, any packages that target Net 5 or above will not work with the FAKE runner, since it also pins its execution context to Netstandard2.0. We have updated the runner to support Net 6 since it is the next LTS release of DotNet. So, to activate the Net 6 reference assemblies, you need to have a global.json file that specifies a Net 6 SDK. Otherwise, the runner will default to Netstandard reference assemblies.

marklam commented 2 years ago

I see now, that's very helpful. Thanks again for your time!