2025-03-30

global.json は JSONC

旅行中のため小ネタ。 個人的な無知ゆえに知らなかったものだが、備忘のため記しておく。

global.json overview - .NET CLI | Microsoft Learn

Comments in global.json files are supported using JavaScript or C# style comments. For example:

{
// This is a comment.
"sdk": {
"version": "8.0.300" /* This is comment 2*/
/* This is a
multiline comment.*/

}
}

まじか。 pocof において macOS の GitHub Actions workflow でのみ dotnet tool restore がエラーになる問題があったとき、 .NET SDK を version 固定しないといけなかったのでそのメモを残すのに使った。

因みにもしやと思って他に思いつく .NET 系の設定ファイルで試したところ、 dotnet-tools.json はダメだった

> dotnet tool restore
Json parsing error in file C:\Users\takatoshi\dev\github.com\krymtkts\pocof\.config\dotnet-tools.json : '/' is invalid after a value. Expected either ',', '}', or ']'. LineNumber: 5 | BytePositionInLine: 6.

dotnet-tools.json で jspnc をサポートしたいという提案は過去にもあったらしいが、頓挫したようだ。

JSON のコメントと空白をどう扱うべきかに関してふにゃふにゃだったので XML に軍配が上がったて流れぽい。議論も止まった様子。

とりあえず global.json だけでも JSONC が使えるということやが、この流れが他にも派生していくかというと、最近 sln が slnx になった流れを見てても XML 優勢なんかなと思えてくるな。


このネタ普通に前の日記で書いてたわw ネタ帳から削り忘れてたか...

まあ slnx とも繋げたので全く同じではないか...ということでご愛嬌。