137 references to AltDirectorySeparatorChar
aspire (1)
src\Shared\BundleDiscovery.cs (1)
327return baseDir.TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
Aspire.Hosting (7)
ApplicationModel\ContainerFileSystemCallbackAnnotation.cs (1)
152var parts = relativePath.Split([Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar], StringSplitOptions.RemoveEmptyEntries);
ApplicationModel\RequiredCommandValidator.cs (1)
190if (command.IndexOfAny([Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar]) >= 0)
ContainerResourceBuilderExtensions.cs (3)
592.TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar); 734.TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar); 1443.TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
Publishing\DockerContainerRuntime.cs (1)
152var normalizedContextPath = Path.GetFullPath(contextPath).TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
src\Shared\BundleDiscovery.cs (1)
327return baseDir.TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
Aspire.Hosting.Tests (1)
Publishing\ResourceContainerImageManagerTests.cs (1)
585Assert.False(buildCall.contextPath.EndsWith(Path.AltDirectorySeparatorChar.ToString()));
dotnet (1)
Commands\Test\MTP\Terminal\AnsiTerminal.cs (1)
200|| path[_baseDirectory.Length] == Path.AltDirectorySeparatorChar))
dotnet-svcutil-lib (6)
Shared\Utilities\PathHelper.cs (6)
114var parentSegments = Path.GetFullPath(parentPath.FullName).Split(new char[] { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar }, StringSplitOptions.RemoveEmptyEntries); 115var childSegments = Path.GetFullPath(childDirectory).Split(new char[] { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar }, StringSplitOptions.RemoveEmptyEntries); 133builder.Append($"..{Path.AltDirectorySeparatorChar}"); 142builder.Append($"{childSegments[idx]}{Path.AltDirectorySeparatorChar}"); 151relativePath = builder.ToString().Trim(Path.AltDirectorySeparatorChar); 168return path.Split(new char[] { '/', '\\', Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar }, StringSplitOptions.RemoveEmptyEntries);
GenerateDocumentationAndConfigFiles (2)
src\roslyn\src\Compilers\Core\Portable\FileSystem\FileUtilities.cs (1)
272return NormalizeAbsolutePath(path).TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\PathHelper.cs (1)
13private static readonly char[] DirectorySeparatorCharacters = [Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar];
Microsoft.AspNetCore.DataProtection (1)
Internal\HostingApplicationDiscriminator.cs (1)
15private readonly string AltDirectorySeparator = Path.AltDirectorySeparatorChar.ToString();
Microsoft.Build (4)
Evaluation\Conditionals\FunctionCallExpressionNode.cs (1)
86return lastCharacter == Path.DirectorySeparatorChar || lastCharacter == Path.AltDirectorySeparatorChar || lastCharacter == '\\';
Logging\TerminalLogger\TerminalLogger.cs (3)
957|| outputPathSpan[workingDirectorySpan.Length] == Path.AltDirectorySeparatorChar)) 971|| outputPathSpan[sourceRootSpan.Length - 1] == Path.AltDirectorySeparatorChar)) 1623int index = path.AsSpan().LastIndexOfAny(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
Microsoft.Build.Framework (7)
FileClassifier.cs (1)
353return (c == Path.DirectorySeparatorChar) || (c == Path.AltDirectorySeparatorChar);
FileUtilities.cs (3)
178return (c == Path.DirectorySeparatorChar) || (c == Path.AltDirectorySeparatorChar); 591while (i > 0 && fullPath[--i] != Path.DirectorySeparatorChar && fullPath[i] != Path.AltDirectorySeparatorChar) 1720if (file.Any(i => i.Equals(Path.DirectorySeparatorChar) || i.Equals(Path.AltDirectorySeparatorChar)))
InterningWriteTranslator.cs (1)
28private static readonly char[] DirectorySeparatorChars = [Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar];
Utilities\FileMatcher.cs (1)
702return c == Path.DirectorySeparatorChar || c == Path.AltDirectorySeparatorChar;
Utilities\FrameworkLocationHelper.cs (1)
1068Path.AltDirectorySeparatorChar.ToString(),
Microsoft.Build.Tasks.CodeAnalysis (1)
src\roslyn\src\Compilers\Core\MSBuildTask\MapSourceRoots.cs (1)
92return c == Path.DirectorySeparatorChar || c == Path.AltDirectorySeparatorChar;
Microsoft.Build.Tasks.Core (4)
CreateCSharpManifestResourceName.cs (2)
187manifestName.Replace(Path.AltDirectorySeparatorChar, '.'); 212manifestName.Replace(Path.AltDirectorySeparatorChar, '.');
ManifestUtil\PathUtil.cs (2)
24path = path.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar); 39path = path.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar);
Microsoft.Build.Tasks.Git (3)
GitDataReader\PathUtils.cs (1)
64=> c == Path.DirectorySeparatorChar || c == Path.AltDirectorySeparatorChar;
src\sourcelink\src\Common\Utilities\PathUtilities.cs (2)
15private static readonly char[] s_directorySeparators = { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar }; 45return last == Path.DirectorySeparatorChar || last == Path.AltDirectorySeparatorChar;
Microsoft.CodeAnalysis (1)
FileSystem\FileUtilities.cs (1)
272return NormalizeAbsolutePath(path).TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
Microsoft.CodeAnalysis.Analyzers (2)
src\roslyn\src\Compilers\Core\Portable\FileSystem\FileUtilities.cs (1)
272return NormalizeAbsolutePath(path).TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\PathHelper.cs (1)
13private static readonly char[] DirectorySeparatorCharacters = [Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar];
Microsoft.CodeAnalysis.AnalyzerUtilities (2)
src\roslyn\src\Compilers\Core\Portable\FileSystem\FileUtilities.cs (1)
272return NormalizeAbsolutePath(path).TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\PathHelper.cs (1)
13private static readonly char[] DirectorySeparatorCharacters = [Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar];
Microsoft.CodeAnalysis.CodeStyle (1)
src\roslyn\src\Compilers\Core\Portable\FileSystem\FileUtilities.cs (1)
272return NormalizeAbsolutePath(path).TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
Microsoft.CodeAnalysis.Features (1)
PdbSourceDocument\ImplementationAssemblyLookupService.cs (1)
44var pathParts = referencedDllPath.Split(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
Microsoft.CodeAnalysis.ResxSourceGenerator (3)
AbstractResxGenerator.cs (1)
108string candidate = relativeDir.Replace(Path.DirectorySeparatorChar, '.').Replace(Path.AltDirectorySeparatorChar, '.') + hintName;
src\roslyn\src\Compilers\Core\Portable\FileSystem\FileUtilities.cs (1)
272return NormalizeAbsolutePath(path).TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\PathHelper.cs (1)
13private static readonly char[] DirectorySeparatorCharacters = [Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar];
Microsoft.CodeAnalysis.Workspaces (1)
src\roslyn\src\Compilers\Core\Portable\FileSystem\FileUtilities.cs (1)
272return NormalizeAbsolutePath(path).TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
Microsoft.CodeAnalysis.Workspaces.MSBuild (1)
MSBuild\MSBuildProjectLoader.Worker.cs (1)
369private static readonly char[] s_directorySplitChars = [Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar];
Microsoft.CodeAnalysis.Workspaces.MSBuild.BuildHost (1)
src\roslyn\src\Compilers\Core\Portable\FileSystem\FileUtilities.cs (1)
272return NormalizeAbsolutePath(path).TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
Microsoft.DotNet.Arcade.Sdk (1)
src\GenerateSourcePackageSourceLinkTargetsFile.cs (1)
99return last == Path.DirectorySeparatorChar || last == Path.AltDirectorySeparatorChar;
Microsoft.DotNet.Build.Tasks.Packaging (3)
GenerateNuSpec.cs (1)
262Target = f.GetMetadata(Metadata.FileTarget).Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar),
HarvestPackage.cs (1)
580var parts = path.Split(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
NuGetAssetResolver.cs (1)
105int dirLength = contentItem.Path.LastIndexOf(Path.AltDirectorySeparatorChar);
Microsoft.DotNet.Cli.Utils (3)
PathUtility.cs (3)
173var path1Segments = path1.Split(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar); 174var path2Segments = path2.Split(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar); 247return path.Substring(Path.GetDirectoryName(path)?.Length ?? 0).Trim(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
Microsoft.DotNet.XliffTasks (1)
Tasks\GatherTranslatedSource.cs (1)
53Path.AltDirectorySeparatorChar
Microsoft.Extensions.FileProviders.Embedded (2)
Manifest\EmbeddedFilesManifest.cs (2)
16.Where(c => c != Path.DirectorySeparatorChar && c != Path.AltDirectorySeparatorChar).ToArray(); 18private static readonly char[] _separators = new char[] { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar };
Microsoft.Extensions.FileProviders.Physical (4)
Internal\PathUtils.cs (3)
15.Where(c => c != Path.DirectorySeparatorChar && c != Path.AltDirectorySeparatorChar).ToArray(); 30[Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar]; 36path[path.Length - 1] != Path.AltDirectorySeparatorChar)
PhysicalFilesWatcher.cs (1)
737path[path.Length - 1] == Path.AltDirectorySeparatorChar);
Microsoft.Extensions.FileSystemGlobbing (5)
InMemoryDirectoryInfo.cs (5)
18private static readonly char[] DirectorySeparators = new[] { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar }; 63string normalizedRoot = Path.GetFullPath(rootDir.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar)); 68string fileWithNormalSeparators = file.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar); 157normPath = Path.GetFullPath(combinedPath.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar)); 171string normPath = Path.GetFullPath(combinedPath.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar));
Microsoft.Extensions.Hosting (1)
HostingHostBuilderExtensions.cs (1)
248.Replace(Path.AltDirectorySeparatorChar, '_');
Microsoft.Extensions.Localization (2)
ResourceManagerStringLocalizerFactory.cs (2)
48_resourcesRelativePath = _resourcesRelativePath.Replace(Path.AltDirectorySeparatorChar, '.') 232.Replace(Path.AltDirectorySeparatorChar, '.');
Microsoft.ML.Parquet (2)
PartitionedPathUtils.cs (2)
55relativePath = relativePath.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar); 70var cleanPath = path.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar);
Microsoft.NET.Build.Containers (1)
Layer.cs (1)
229private static readonly char[] PathSeparators = new char[] { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar };
Microsoft.NET.Sdk.BlazorWebAssembly.Tasks (1)
src\sdk\src\StaticWebAssetsSdk\Tasks\Data\StaticWebAsset.cs (1)
1082(path.EndsWith(Path.DirectorySeparatorChar.ToString()), path.EndsWith(Path.AltDirectorySeparatorChar.ToString())) switch
Microsoft.NET.Sdk.StaticWebAssets.Tasks (4)
ComputeStaticWebAssetsTargetPaths.cs (1)
30var separator = UseAlternatePathDirectorySeparator ? Path.AltDirectorySeparatorChar : Path.DirectorySeparatorChar;
Data\StaticWebAsset.cs (1)
1082(path.EndsWith(Path.DirectorySeparatorChar.ToString()), path.EndsWith(Path.AltDirectorySeparatorChar.ToString())) switch
DefineStaticWebAssets.cs (1)
140var withSeparator when withSeparator[withSeparator.Length - 1] == Path.DirectorySeparatorChar || withSeparator[withSeparator.Length - 1] == Path.AltDirectorySeparatorChar => normalizedDirectoryPath.Length,
Legacy\GenerateV1StaticWebAssetsManifest.cs (1)
117var normalizedContentRoot = $"{contentRoot.TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar)}{Path.DirectorySeparatorChar}";
Microsoft.SourceLink.AzureDevOpsServer.Git (2)
src\sourcelink\src\Common\Utilities\PathUtilities.cs (2)
15private static readonly char[] s_directorySeparators = { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar }; 45return last == Path.DirectorySeparatorChar || last == Path.AltDirectorySeparatorChar;
Microsoft.SourceLink.AzureRepos.Git (2)
src\sourcelink\src\Common\Utilities\PathUtilities.cs (2)
15private static readonly char[] s_directorySeparators = { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar }; 45return last == Path.DirectorySeparatorChar || last == Path.AltDirectorySeparatorChar;
Microsoft.SourceLink.Bitbucket.Git (2)
src\sourcelink\src\Common\Utilities\PathUtilities.cs (2)
15private static readonly char[] s_directorySeparators = { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar }; 45return last == Path.DirectorySeparatorChar || last == Path.AltDirectorySeparatorChar;
Microsoft.SourceLink.Common (2)
src\sourcelink\src\Common\Utilities\PathUtilities.cs (2)
15private static readonly char[] s_directorySeparators = { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar }; 45return last == Path.DirectorySeparatorChar || last == Path.AltDirectorySeparatorChar;
Microsoft.SourceLink.Gitea (2)
src\sourcelink\src\Common\Utilities\PathUtilities.cs (2)
15private static readonly char[] s_directorySeparators = { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar }; 45return last == Path.DirectorySeparatorChar || last == Path.AltDirectorySeparatorChar;
Microsoft.SourceLink.Gitee (2)
src\sourcelink\src\Common\Utilities\PathUtilities.cs (2)
15private static readonly char[] s_directorySeparators = { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar }; 45return last == Path.DirectorySeparatorChar || last == Path.AltDirectorySeparatorChar;
Microsoft.SourceLink.GitHub (2)
src\sourcelink\src\Common\Utilities\PathUtilities.cs (2)
15private static readonly char[] s_directorySeparators = { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar }; 45return last == Path.DirectorySeparatorChar || last == Path.AltDirectorySeparatorChar;
Microsoft.SourceLink.GitLab (2)
src\sourcelink\src\Common\Utilities\PathUtilities.cs (2)
15private static readonly char[] s_directorySeparators = { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar }; 45return last == Path.DirectorySeparatorChar || last == Path.AltDirectorySeparatorChar;
Microsoft.SourceLink.GitWeb (2)
src\sourcelink\src\Common\Utilities\PathUtilities.cs (2)
15private static readonly char[] s_directorySeparators = { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar }; 45return last == Path.DirectorySeparatorChar || last == Path.AltDirectorySeparatorChar;
Microsoft.VisualBasic.Core (8)
Microsoft\VisualBasic\FileIO\FileSystem.vb (8)
93file.EndsWith(IO.Path.AltDirectorySeparatorChar, StringComparison.OrdinalIgnoreCase)) Then 247IO.Path.DirectorySeparatorChar, IO.Path.AltDirectorySeparatorChar)) 853path.EndsWith(IO.Path.AltDirectorySeparatorChar, StringComparison.Ordinal) Then 1538Path1 = Path1.TrimEnd(IO.Path.DirectorySeparatorChar, IO.Path.AltDirectorySeparatorChar) 1539Path2 = Path2.TrimEnd(IO.Path.DirectorySeparatorChar, IO.Path.AltDirectorySeparatorChar) 1560Path = Path.TrimEnd(IO.Path.DirectorySeparatorChar, IO.Path.AltDirectorySeparatorChar) 1582Return Path.TrimEnd(IO.Path.DirectorySeparatorChar, IO.Path.AltDirectorySeparatorChar) 2056IO.Path.DirectorySeparatorChar, IO.Path.AltDirectorySeparatorChar, IO.Path.VolumeSeparatorChar}
Microsoft.VisualStudio.TestPlatform.Extensions.Trx.TestLogger (1)
Utility\TrxFileHelper.cs (1)
186char[] delimiters = [Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar];
NuGet.Common (7)
PathUtil\PathResolver.cs (1)
239path[path.Length - 1] == Path.AltDirectorySeparatorChar);
PathUtil\PathUtility.cs (6)
164ch == Path.AltDirectorySeparatorChar); 225var path1Segments = path1.Split(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar); 226var path2Segments = path2.Split(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar); 304return path.Substring(fullDirectoryPath.Length).Trim(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar); 423return path.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar); 428return path.Replace(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
NuGet.Configuration (5)
Settings\Settings.cs (1)
780&& (root[0] == Path.DirectorySeparatorChar || value[0] == Path.AltDirectorySeparatorChar))
Utility\SettingsUtility.cs (4)
73path = path!.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar); 268path = path!.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar); 315paths[i] = paths[i].Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar); 358path = path!.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar);
NuGet.PackageManagement (4)
Projects\MSBuildNuGetProject.cs (1)
611&& !filePath.StartsWith(PackagingConstants.Folders.Lib + Path.AltDirectorySeparatorChar, StringComparison.OrdinalIgnoreCase))
Projects\PowerShellScripts.cs (1)
16public static readonly string InitPS1RelativePath = PackagingConstants.Folders.Tools + Path.AltDirectorySeparatorChar + Init;
Utility\FileSystemUtility.cs (1)
466foreach (var index in IndexOfAll(path, altDirectorySeparator ? Path.AltDirectorySeparatorChar : Path.DirectorySeparatorChar))
Utility\PackagesFolderPathUtility.cs (1)
51return Uri.UnescapeDataString(path.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar));
NuGet.Packaging (1)
PackageArchiveReader.cs (1)
160path = path.Replace(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
Pipelines.AppHost (1)
AppHost.cs (1)
301var parts = directoryPath.Split(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
PresentationBuildTasks (1)
MS\Internal\MarkupCompiler\PathInternal.cs (1)
125return c == Path.DirectorySeparatorChar || c == Path.AltDirectorySeparatorChar;
Roslyn.Diagnostics.Analyzers (2)
src\roslyn\src\Compilers\Core\Portable\FileSystem\FileUtilities.cs (1)
272return NormalizeAbsolutePath(path).TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
src\roslyn\src\RoslynAnalyzers\Utilities\Compiler\PathHelper.cs (1)
13private static readonly char[] DirectorySeparatorCharacters = [Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar];
sdk-tasks (1)
DeduplicateAssembliesWithLinks.cs (1)
155return relativePath.Split(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar).Length - 1;
System.CommandLine (1)
Binding\ArgumentConverter.StringConverters.cs (1)
126path.EndsWith(Path.AltDirectorySeparatorChar.ToString(), StringComparison.Ordinal))
System.Configuration.ConfigurationManager (1)
System\Diagnostics\TraceUtils.cs (1)
74if ((initializeData[0] != Path.DirectorySeparatorChar) && (initializeData[0] != Path.AltDirectorySeparatorChar) && !Path.IsPathRooted(initializeData))
System.IO.Compression (1)
System\IO\Compression\ZipArchiveEntry.cs (1)
131_externalFileAttr = entryName.EndsWith(Path.DirectorySeparatorChar) || entryName.EndsWith(Path.AltDirectorySeparatorChar)
System.IO.IsolatedStorage (1)
System\IO\IsolatedStorage\IsolatedStorageFile.cs (1)
548if (partialPath[i] != Path.DirectorySeparatorChar && partialPath[i] != Path.AltDirectorySeparatorChar)
System.Private.CoreLib (1)
src\runtime\src\libraries\System.Private.CoreLib\src\System\StartupHookProvider.cs (1)
108Path.AltDirectorySeparatorChar,
vstest.console (1)
Internal\FilePatternParser.cs (1)
111pathBeforeWildCard.LastIndexOf(Path.AltDirectorySeparatorChar));
vstest.console.arm64 (1)
src\vstest\src\vstest.console\Internal\FilePatternParser.cs (1)
111pathBeforeWildCard.LastIndexOf(Path.AltDirectorySeparatorChar));