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