Я хотел бы использовать сборку мусора на сервере с do tnet fsi. Как мне это сделать?
Сборку мусора следует настраивать с помощью параметров времени выполнения, указанных в этих двух источниках:
- https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet
- https://docs.microsoft.com/en-us/dotnet/core/run-time-config/
Я использую windows и предварительный просмотр do tnet 5 sdk. dotnet fsi
работает нормально.
Я создал следующий файл fsi.runtimeconfig.json
и поместил его в C:\Program Files\dotnet
:
{
"runtimeOptions": {
"configProperties": {
"System.GC.Server": true
}
}
}
Однако, когда я звоню dotnet fsi --runtimeconfig fsi.runtimeconfig.json
, я получаю следующую ошибку :
> dotnet fsi --runtimeconfig "fsi.runtimeconfig.json"
error FS0243: Unrecognized option: '--runtimeconfig'
Exception by fsi.exe:
System.Exception: Error creating evaluation session: StopProcessingExn None
at Microsoft.FSharp.Core.PrintfModule.PrintFormatToStringThenFail@1639.Invoke(String message) in F:\workspace\_work\1\s\src\fsharp\FSharp.Core\printf.fs:line 1639
at FSharp.Compiler.Interactive.Shell.FsiCommandLineOptions..ctor(FsiEvaluationSessionHostConfig fsi, String[] argv, TcConfigBuilder tcConfigB, FsiConsoleOutput fsiConsoleOutput) in F:\workspace\_work\1\s\src\fsharp\fsi\fsi.fs:line 726
at FSharp.Compiler.Interactive.Shell.FsiEvaluationSession..ctor(FsiEvaluationSessionHostConfig fsi, String[] argv, TextReader inReader, TextWriter outWriter, TextWriter errorWriter, Boolean fsiCollectible, FSharpOption`1 legacyReferenceResolver) in F:\workspace\_work\1\s\src\fsharp\fsi\fsi.fs:line 2484
at FSharp.Compiler.Interactive.Shell.FsiEvaluationSession.Create(FsiEvaluationSessionHostConfig fsiConfig, String[] argv, TextReader inReader, TextWriter outWriter, TextWriter errorWriter, FSharpOption`1 collectible, FSharpOption`1 legacyReferenceResolver) in F:\workspace\_work\1\s\src\fsharp\fsi\fsi.fs:line 2825
at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
at System.Lazy`1.CreateValue()
at System.Lazy`1.get_Value()
at Sample.FSharp.Compiler.Interactive.Main.evaluateSession(String[] argv) in F:\workspace\_work\1\s\src\fsharp\fsi\fsimain.fs:line 269
Если я опущу параметр конфигурации времени выполнения, запускается fsi, но System.Runtime.GCSettings.IsServerGC
будет false
.