Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
InMemoryDirectoryInfo şimdi belirtilen kök dizini dosya koleksiyonuna ekler.
InMemoryDirectoryInfo
, MatcherExtensions.Match tarafından kullanılır ve Matcher'nin diske erişmeden glob eşleştirme desenlerini yürütmesini sağlar.
Önceki davranış
Daha önce, files
bağımsız değişkenindeki göreli yollar geçerli çalışma dizinine (CWD) eklenmiştir. Bu, bellek içinde çalışması gereken bir tür için CWD'ye gereksiz bir bağımlılık neden oldu.
Yeni davranış
.NET 9'dan başlayarak, oluşturucunun files
bağımsız değişkenindeki göreli yollar belirtilen kök dizine eklenir.
Sürüm kullanıma sunulmuştur
.NET 9 Önizleme 1
Kesinti yaratan değişiklik türü
Bu değişiklik davranışsal bir değişikliktir.
Değişiklik nedeni
Geçerli çalışma dizinine ait olandan farklı bir sürücü harfi kullanan bellek içi yollarla ilişkili engellenmiş senaryolar vardı. Örneğin, bkz. dotnet/runtime issue 93107.
Önerilen eylem
Önceki davranışa bağlıysanız, artık kök dizininin önek olarak eklendiği dosyaları hesaba katmak için kodunuzu ayarlayın. Örneğin:
// Since rootDir is also relative, it could've been used to filter the matching scope of `files`.
-string rootDir = "dir1";
// Now that's not possible; everything in `files` is under `root`.
+string rootDir = "root";
string[] files = ["dir1/test.0", "dir1/subdir/test.1", "dir2/test.2"];
-PatternMatchingResult result = new Matcher().AddInclude("**/*").Match(rootDir, files);
// Adjust the pattern if you want to scope down to dir1.
+PatternMatchingResult result = new Matcher().AddInclude("dir1/**/*").Match(rootDir, files);
Console.WriteLine(string.Join(", ", result.Files.Select(x => x.Path)));
// Output:
// dir1/test.0
// dir1/subdir/test.1