Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Test-Json returns wrong error when SchemaFile is not found

Offen Anfängerfreundlich
#27,973 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
74/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
csharp, powershell
Bereich
cli

Rechercherichtung

Beginne bei TestJsonCommand.BeginProcessing und dem Aufruf JsonSchema.FromFile und führe dann die bereitgestellte Test-Json-Reproduktion mit der fehlenden fooSchema.json aus. Abgeschlossen ist die Aufgabe, wenn das fehlende Schema den erwarteten Fehler „Cannot find JSON schema file“ für den gemeldeten Pfad erzeugt, statt der aktuellen Open-File-Formulierung.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Needs-Triage
Prerequisites
Steps to reproduce

Use a valid json file test.json as shown in below example. Test its schema by passing an invalid schema file json.

> cat test.json
{
    "str": "somestring",
    "int": 2026
}

>Test-Json -Path .\test.json -SchemaFile .\fooSchema.json
Expected behavior
Test-Json: Cannot find JSON schema file: C:\Windows\Temp\fooSchema.json
Actual behavior
> Test-Json: Can not open JSON schema file: C:\Windows\Temp\fooSchema.json
Error details
Exception             : 
    Type           : System.Exception
    TargetSite     : 
        Name          : ThrowTerminatingError
        DeclaringType : [System.Management.Automation.MshCommandRuntime]
        MemberType    : Method
        Module        : System.Management.Automation.dll
    Message        : Can not open JSON schema file: C:\Windows\Temp\fooSchema.json
    InnerException : 
        Type       : System.IO.FileNotFoundException
        Message    : Could not find file 'C:\Windows\Temp\fooSchema.json'.
        FileName   : C:\Windows\Temp\fooSchema.json
        TargetSite : 
            Name          : CreateFile
            DeclaringType : [Microsoft.Win32.SafeHandles.SafeFileHandle]
            MemberType    : Method
            Module        : System.Private.CoreLib.dll
        Source     : System.Private.CoreLib
        HResult    : -2147024894
        StackTrace : 
   at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
   at System.IO.Strategies.FileStreamHelpers.ChooseStrategyCore(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
   at System.IO.StreamReader.ValidateArgsAndOpenPath(String path, Int32 bufferSize)
   at System.IO.File.ReadAllText(String path, Encoding encoding)
   at Json.Schema.JsonSchema.FromFile(String fileName)
   at Microsoft.PowerShell.Commands.TestJsonCommand.BeginProcessing()
    Source         : System.Management.Automation
    HResult        : -2146233088
    StackTrace     : 
   at System.Management.Automation.MshCommandRuntime.ThrowTerminatingError(ErrorRecord errorRecord)
TargetObject          : C:\Windows\Temp\fooSchema.json
CategoryInfo          : OpenError: (C:\Windows\Temp\fooSchema.json:String) [Test-Json], Exception
FullyQualifiedErrorId : JsonSchemaFileOpenFailure,Microsoft.PowerShell.Commands.TestJsonCommand
InvocationInfo        : 
    MyCommand        : Test-Json
    ScriptLineNumber : 1
    OffsetInLine     : 1
    HistoryId        : 1
    Line             : Test-Json -Path .\test.json -SchemaFile .\fooSchema.json
    Statement        : Test-Json -Path .\test.json -SchemaFile .\fooSchema.json
    PositionMessage  : At line:1 char:1
                       + Test-Json -Path .\test.json -SchemaFile .\fooSchema.json
                       + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    InvocationName   : Test-Json
    CommandOrigin    : Internal
ScriptStackTrace      : at <ScriptBlock>, <No file>: line 1
Environment data

#Windows
Name                           Value
----                           -----
PSVersion                      7.6.5
PSEdition                      Core
GitCommitId                    7.6.5
OS                             Microsoft Windows 10.0.26200
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.4
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

#Linux
Name                           Value
----                           -----
PSVersion                      7.4.2
PSEdition                      Core
GitCommitId                    7.4.2
OS                             Ubuntu 20.04.6 LTS
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
Visuals

No response

Vorherrschende Sprache
C#
Sterne
55.5k
Forks
8.5k
Ø Merge
1 T. 17 Std.
Gemergte PRs (30 T.)
97

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus PowerShell/PowerShell

Alle Issues in PowerShell/PowerShell

Ähnliche Issues

Weitere Issues zu C#

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.