commandlineparser / commandlineparser/commandline

dotnet fsi fails on dotnet-sdk 6.0.3 - No parameterless constructor found

Abierto
#828 3 comentarios 5 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
C#
Estrellas
4.8k
Forks
478
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

* install dotnet 6.0.300
* save fsx script below to a file
* run `dotnet fsi ./test.fsx`

Expected: Get cli usage message
Actual: Get error message:
```shell
System.MissingMethodException: Cannot dynamically create an instance of type 'FSI_0002+options'. Reason: No parameterless constructor defined.
at System.RuntimeType.ActivatorCache..ctor(RuntimeType rt)
at System.RuntimeType.CreateInstanceOfT()
at System.Activator.CreateInstance[T]()
at CommandLine.Core.InstanceBuilder.<>c__1`1.b__1_0(Func`1 f)
at CSharpx.MaybeExtensions.MapValueOrDefault[T1,T2](Maybe`1 maybe, Func`2 func, T2 noneValue)
at CommandLine.Core.InstanceBuilder.Build[T](Maybe`1 factory, Func`3 tokenizer, IEnumerable`1 arguments, StringComparer nameComparer, Boolean ignoreValueCase, CultureInfo parsingCulture, Boolean autoHelp, Boolean autoVersion, Boolean allowMultiInstance, IEnumerable`1 nonFatalErrors)
at CommandLine.Parser.ParseArguments[T](IEnumerable`1 args)
at .$FSI_0002.main@() in C:\Users\edeus\dev\github\smashcut\stream-poc\scripts\Opts.fsx:line 26
Stopped due to error
```

> Note: works in dotnet 6.0.203

# fsx script:
```fsharp
#r "nuget: CommandLineParser.FSharp, 2.9.1"
// #r "nuget: CommandLineParser.FSharp, 2.9.2-ci-210"

open CommandLine
open System

type options =
{ []
files: seq
[]
verbose: bool
[]
language: string
[]
offset: int64 option }

let result =
CommandLine.Parser.Default.ParseArguments(Environment.GetCommandLineArgs())

match result with
| :? Parsed as parsed -> printfn $"{parsed.Value}"
| :? NotParsed as notParsed -> printfn $"{notParsed.Errors}"
| _ -> printfn "?"

```

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.