次の方法で共有


無効なファイル名が許可されなくなった 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 語にすることはできません:NULCONAUXPRNCOM?LPT?、または CLOCK$ (? は任意の桁数です)。
  • 260 文字以下にする必要があります。
  • コントロール文字、?:\/*""<>|など、無効な文字を含めることはできません。

さらに、既存のプロジェクトと同じ名前の入れ子になったプロジェクトを追加しようとすると、dotnet sln add が成功するようになりました。これは、入れ子になっていないプロジェクトの動作を模倣します。 例: folder/project.csprojparent/child/project.csproj を追加してもエラーは発生しません。

例外には現在の文字列が含まれますが、vs-solutionpersistence からのエラー メッセージがラップされます。

破壊的変更の種類

この変更は、動作変更です。

変更の理由

これらの変更は、新しい vs-solutionpersistence シリアライザーに移行するために導入されました。

プロジェクト フォルダーとソリューション フォルダーの名前を確認して、新しい名前付け制限に準拠していることを確認します。

影響を受ける API

N/A