無効なファイル名が許可されなくなった dotnet sln add
.NET SDK 9.0.2xx 以降では、dotnet sln add
CLI コマンドに、vs-solutionpersistence シリアライザーを使用した .slnx ソリューション ファイルのサポートが含まれています。 その結果、動作のわずかな変化が予想されます。
導入されたバージョン
.NET SDK 9.0.2xx
以前の動作
以前は、プロジェクトとソリューション フォルダーに無効な Windows ファイル名が含まれる可能性がありました。 名前に無効な文字を含めることもできます。 さらに、既存のプロジェクトと同じ名前の入れ子になったプロジェクトを追加しようとすると、dotnet sln add
失敗しました。
新しい動作
.NET SDK 9.0.2xx 以降では、プロジェクトとソリューション フォルダー名:
- DOS 語にすることはできません:
NUL
、CON
、AUX
、PRN
、COM?
、LPT?
、またはCLOCK$
(?
は任意の桁数です)。 - 260 文字以下にする必要があります。
- コントロール文字、
?
、:
、\
、/
、*
、"
、"
、<
、>
、|
など、無効な文字を含めることはできません。
さらに、既存のプロジェクトと同じ名前の入れ子になったプロジェクトを追加しようとすると、dotnet sln add
が成功するようになりました。これは、入れ子になっていないプロジェクトの動作を模倣します。 例: folder/project.csproj
と parent/child/project.csproj
を追加してもエラーは発生しません。
例外には現在の文字列が含まれますが、vs-solutionpersistence からのエラー メッセージがラップされます。
破壊的変更の種類
この変更は、動作変更です。
変更の理由
これらの変更は、新しい vs-solutionpersistence
シリアライザーに移行するために導入されました。
推奨されるアクション
プロジェクト フォルダーとソリューション フォルダーの名前を確認して、新しい名前付け制限に準拠していることを確認します。
影響を受ける API
N/A
.NET