| File: TemporaryDirectory.cs | Web Access |
| Project: src\sdk\src\Cli\Microsoft.DotNet.InternalAbstractions\Microsoft.DotNet.InternalAbstractions.csproj (Microsoft.DotNet.InternalAbstractions) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Extensions.EnvironmentAbstractions; namespace Microsoft.DotNet.InternalAbstractions { internal class TemporaryDirectory : ITemporaryDirectory { public string DirectoryPath { get; } public TemporaryDirectory() { DirectoryPath = Path.Combine(CreateSubdirectory()); } public void Dispose() { try { Directory.Delete(DirectoryPath, true); } catch { // Ignore failures here. } } public static string CreateSubdirectory() { #if NETFRAMEWORK string path = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); Directory.CreateDirectory(path); return path; #else return Directory.CreateTempSubdirectory().FullName; #endif } } }