From 8a6d6fa9f7e42cc709fb694ab091edc274ffcb14 Mon Sep 17 00:00:00 2001 From: lindexi Date: Tue, 21 Apr 2026 14:48:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BE=9B=E5=8F=AF=E4=BB=A5=E6=89=BE?= =?UTF-8?q?=E5=88=B0=20slnx=20=E7=9A=84=E8=83=BD=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DotNETBuild/Utils/DotNetBuildTools_/FileSniff.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/DotNETBuild/Utils/DotNetBuildTools_/FileSniff.cs b/DotNETBuild/Utils/DotNetBuildTools_/FileSniff.cs index 62449d5..18bc549 100644 --- a/DotNETBuild/Utils/DotNetBuildTools_/FileSniff.cs +++ b/DotNETBuild/Utils/DotNetBuildTools_/FileSniff.cs @@ -1,5 +1,6 @@ using System; using System.IO; +using System.Linq; using System.Reflection; using dotnetCampus.Configurations; using dotnetCampus.DotNETBuild.Context; @@ -131,19 +132,24 @@ private bool CheckCodeDirectory(string directory) private FileInfo FindSlnOrCsprojFile(DirectoryInfo directory) { - // 优先找 sln 文件 + // 优先找 sln/slnx 文件 // 如果找不到,找 csproj 文件 // 如果找不到,返回空 // 如果找到大于一个文件,异常 var slnFileList = Directory.GetFiles(directory.FullName, "*.sln"); + var slnxFileList = Directory.GetFiles(directory.FullName, "*.slnx"); + + slnFileList = slnFileList.Concat(slnxFileList).ToArray(); + if (slnFileList.Length > 1) { throw new ArgumentException( - $"在{directory}找到大于一个 sln 文件,找到的文件如下:{string.Join(';', slnFileList)}"); + $"在{directory}找到大于一个 sln/slnx 文件,找到的文件如下:{string.Join(';', slnFileList)}"); } else if (slnFileList.Length == 1) { + // 正确找到了 return new FileInfo(slnFileList[0]); } else