diff --git a/src/SharpCompress/Archives/GZip/GZipArchive.Async.cs b/src/SharpCompress/Archives/GZip/GZipArchive.Async.cs index 95f01ae9..3b6ee24d 100644 --- a/src/SharpCompress/Archives/GZip/GZipArchive.Async.cs +++ b/src/SharpCompress/Archives/GZip/GZipArchive.Async.cs @@ -25,7 +25,7 @@ public partial class GZipArchive CancellationToken cancellationToken = default ) { -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var stream = fileInfo.Open(FileMode.Create, FileAccess.Write); #else await using var stream = fileInfo.Open(FileMode.Create, FileAccess.Write); @@ -47,7 +47,7 @@ public partial class GZipArchive { throw new InvalidFormatException("Only one entry is allowed in a GZip Archive"); } -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var writer = new GZipWriter(stream, options); #else await using var writer = new GZipWriter(stream, options); @@ -58,7 +58,7 @@ public partial class GZipArchive { if (!entry.IsDirectory) { -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var entryStream = await entry #else await using var entryStream = await entry @@ -77,7 +77,7 @@ public partial class GZipArchive } foreach (var entry in newEntries.Where(x => !x.IsDirectory)) { -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var entryStream = await entry #else await using var entryStream = await entry diff --git a/src/SharpCompress/Archives/IArchiveEntryExtensions.cs b/src/SharpCompress/Archives/IArchiveEntryExtensions.cs index 617ac124..98ab3115 100644 --- a/src/SharpCompress/Archives/IArchiveEntryExtensions.cs +++ b/src/SharpCompress/Archives/IArchiveEntryExtensions.cs @@ -77,7 +77,7 @@ public static partial class IArchiveEntryExtensions var entryStream = await archiveEntry .OpenEntryStreamAsync(cancellationToken) .ConfigureAwait(false); -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var entryStreamScope = entryStream; #else await using var entryStreamScope = entryStream @@ -168,7 +168,7 @@ public static partial class IArchiveEntryExtensions options, async (x, fm, ct) => { -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var fs = File.Open(x, fm); #else await using var fs = File.Open(x, fm); diff --git a/src/SharpCompress/Archives/IWritableAsyncArchiveExtensions.cs b/src/SharpCompress/Archives/IWritableAsyncArchiveExtensions.cs index c3527f7c..7e32f1d2 100644 --- a/src/SharpCompress/Archives/IWritableAsyncArchiveExtensions.cs +++ b/src/SharpCompress/Archives/IWritableAsyncArchiveExtensions.cs @@ -83,7 +83,7 @@ public static class IWritableAsyncArchiveExtensions ) where TOptions : IWriterOptions { -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var stream = fileInfo.Open(FileMode.Create, FileAccess.Write); #else await using var stream = fileInfo.Open(FileMode.Create, FileAccess.Write); diff --git a/src/SharpCompress/Archives/Tar/TarArchive.Async.cs b/src/SharpCompress/Archives/Tar/TarArchive.Async.cs index 9bf95909..a318ab53 100644 --- a/src/SharpCompress/Archives/Tar/TarArchive.Async.cs +++ b/src/SharpCompress/Archives/Tar/TarArchive.Async.cs @@ -22,7 +22,7 @@ public partial class TarArchive CancellationToken cancellationToken = default ) { -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var writer = new TarWriter(stream, options); #else await using var writer = new TarWriter(stream, options); @@ -43,7 +43,7 @@ public partial class TarArchive } else { -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var entryStream = await entry #else await using var entryStream = await entry @@ -75,7 +75,7 @@ public partial class TarArchive } else { -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var entryStream = await entry .OpenEntryStreamAsync(cancellationToken) .ConfigureAwait(false); diff --git a/src/SharpCompress/Archives/Zip/ZipArchive.Async.cs b/src/SharpCompress/Archives/Zip/ZipArchive.Async.cs index 79d036cc..a65719a0 100644 --- a/src/SharpCompress/Archives/Zip/ZipArchive.Async.cs +++ b/src/SharpCompress/Archives/Zip/ZipArchive.Async.cs @@ -84,7 +84,7 @@ public partial class ZipArchive CancellationToken cancellationToken = default ) { -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var writer = new ZipWriter(stream, options); #else await using var writer = new ZipWriter(stream, options); @@ -105,7 +105,7 @@ public partial class ZipArchive } else { -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var entryStream = await entry #else await using var entryStream = await entry @@ -135,7 +135,7 @@ public partial class ZipArchive } else { -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var entryStream = await entry #else await using var entryStream = await entry diff --git a/src/SharpCompress/Common/Rar/Headers/MarkHeader.Async.cs b/src/SharpCompress/Common/Rar/Headers/MarkHeader.Async.cs index 77cf4476..5aae4c3c 100644 --- a/src/SharpCompress/Common/Rar/Headers/MarkHeader.Async.cs +++ b/src/SharpCompress/Common/Rar/Headers/MarkHeader.Async.cs @@ -122,7 +122,7 @@ internal partial class MarkHeader { if (!leaveStreamOpen) { -#if LEGACY_DOTNET && !NETSTANDARD2_1 +#if !STREAM_DISPOSEASYNC stream.Dispose(); #else await stream.DisposeAsync().ConfigureAwait(false); diff --git a/src/SharpCompress/Common/SevenZip/SevenZipStreamsCompressor.cs b/src/SharpCompress/Common/SevenZip/SevenZipStreamsCompressor.cs index dca6fd19..e769ea23 100644 --- a/src/SharpCompress/Common/SevenZip/SevenZipStreamsCompressor.cs +++ b/src/SharpCompress/Common/SevenZip/SevenZipStreamsCompressor.cs @@ -122,7 +122,7 @@ internal sealed class SevenZipStreamsCompressor(Stream outputStream) uint inputCrc2; long inputSize2; { -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var lzma2Stream = new Lzma2EncoderStream( #else await using var lzma2Stream = new Lzma2EncoderStream( @@ -156,7 +156,7 @@ internal sealed class SevenZipStreamsCompressor(Stream outputStream) uint inputCrc; long inputSize; { -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var lzmaStream = LzmaStream.Create(encoderProperties, false, outCrcStream); #else await using var lzmaStream = LzmaStream.Create(encoderProperties, false, outCrcStream); diff --git a/src/SharpCompress/Common/Tar/TarReadOnlySubStream.cs b/src/SharpCompress/Common/Tar/TarReadOnlySubStream.cs index c4dc0b72..ced9ea27 100644 --- a/src/SharpCompress/Common/Tar/TarReadOnlySubStream.cs +++ b/src/SharpCompress/Common/Tar/TarReadOnlySubStream.cs @@ -34,7 +34,7 @@ internal class TarReadOnlySubStream : Stream base.Dispose(disposing); } -#if !LEGACY_DOTNET +#if STREAM_DISPOSEASYNC public override async System.Threading.Tasks.ValueTask DisposeAsync() { if (_isDisposed) diff --git a/src/SharpCompress/Common/Volume.Async.cs b/src/SharpCompress/Common/Volume.Async.cs index 3a07aece..55d9b686 100644 --- a/src/SharpCompress/Common/Volume.Async.cs +++ b/src/SharpCompress/Common/Volume.Async.cs @@ -7,7 +7,7 @@ public abstract partial class Volume { public virtual async ValueTask DisposeAsync() { -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC _actualStream.Dispose(); await Task.CompletedTask.ConfigureAwait(false); #else diff --git a/src/SharpCompress/Common/Zip/WinzipAesCryptoStream.Async.cs b/src/SharpCompress/Common/Zip/WinzipAesCryptoStream.Async.cs index e9f31b60..e9867989 100644 --- a/src/SharpCompress/Common/Zip/WinzipAesCryptoStream.Async.cs +++ b/src/SharpCompress/Common/Zip/WinzipAesCryptoStream.Async.cs @@ -10,7 +10,7 @@ namespace SharpCompress.Common.Zip; internal partial class WinzipAesCryptoStream { -#if !LEGACY_DOTNET +#if STREAM_DISPOSEASYNC public override async ValueTask DisposeAsync() { if (_isDisposed) diff --git a/src/SharpCompress/Common/Zip/WinzipAesCryptoStream.cs b/src/SharpCompress/Common/Zip/WinzipAesCryptoStream.cs index 262e1183..06b354af 100644 --- a/src/SharpCompress/Common/Zip/WinzipAesCryptoStream.cs +++ b/src/SharpCompress/Common/Zip/WinzipAesCryptoStream.cs @@ -87,7 +87,7 @@ internal partial class WinzipAesCryptoStream : Stream { if (!_authRead) { -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC // Legacy Stream lacks DisposeAsync, including for async-only inputs. #pragma warning disable VSTHRD002 // Avoid problematic synchronous waits #pragma warning disable CA2012 diff --git a/src/SharpCompress/Compressors/BZip2/BZip2Stream.Async.cs b/src/SharpCompress/Compressors/BZip2/BZip2Stream.Async.cs index 35cf9f1d..c7b33645 100644 --- a/src/SharpCompress/Compressors/BZip2/BZip2Stream.Async.cs +++ b/src/SharpCompress/Compressors/BZip2/BZip2Stream.Async.cs @@ -115,7 +115,7 @@ public sealed partial class BZip2Stream : IAsyncDisposable CancellationToken cancellationToken = default ) => await stream.WriteAsync(buffer, offset, count, cancellationToken).ConfigureAwait(false); -#if !LEGACY_DOTNET || NETSTANDARD2_1 +#if STREAM_DISPOSEASYNC public override async ValueTask DisposeAsync() #else public async ValueTask DisposeAsync() @@ -136,7 +136,7 @@ public sealed partial class BZip2Stream : IAsyncDisposable stream.Dispose(); } -#if !LEGACY_DOTNET || NETSTANDARD2_1 +#if STREAM_DISPOSEASYNC await base.DisposeAsync().ConfigureAwait(false); #else await Task.CompletedTask.ConfigureAwait(false); diff --git a/src/SharpCompress/Compressors/BZip2/CBZip2OutputStream.Async.cs b/src/SharpCompress/Compressors/BZip2/CBZip2OutputStream.Async.cs index d56e9244..6db68c8f 100644 --- a/src/SharpCompress/Compressors/BZip2/CBZip2OutputStream.Async.cs +++ b/src/SharpCompress/Compressors/BZip2/CBZip2OutputStream.Async.cs @@ -670,7 +670,7 @@ internal sealed partial class CBZip2OutputStream : IAsyncDisposable await bsStream.FlushAsync(cancellationToken).ConfigureAwait(false); } -#if !LEGACY_DOTNET || NETSTANDARD2_1 +#if STREAM_DISPOSEASYNC public override async ValueTask DisposeAsync() #else public async ValueTask DisposeAsync() @@ -696,7 +696,7 @@ internal sealed partial class CBZip2OutputStream : IAsyncDisposable } bsStream = null; -#if !LEGACY_DOTNET || NETSTANDARD2_1 +#if STREAM_DISPOSEASYNC await base.DisposeAsync().ConfigureAwait(false); #else await Task.CompletedTask.ConfigureAwait(false); diff --git a/src/SharpCompress/Compressors/Deflate/DeflateStream.Async.cs b/src/SharpCompress/Compressors/Deflate/DeflateStream.Async.cs index ae6343cd..496adca2 100644 --- a/src/SharpCompress/Compressors/Deflate/DeflateStream.Async.cs +++ b/src/SharpCompress/Compressors/Deflate/DeflateStream.Async.cs @@ -8,7 +8,7 @@ namespace SharpCompress.Compressors.Deflate; public partial class DeflateStream { -#if !LEGACY_DOTNET || NETSTANDARD2_1 +#if STREAM_DISPOSEASYNC public override async ValueTask DisposeAsync() #else public async ValueTask DisposeAsync() @@ -22,7 +22,7 @@ public partial class DeflateStream } _disposed = true; } -#if !LEGACY_DOTNET || NETSTANDARD2_1 +#if STREAM_DISPOSEASYNC await base.DisposeAsync().ConfigureAwait(false); #else await Task.CompletedTask.ConfigureAwait(false); diff --git a/src/SharpCompress/Compressors/Deflate/GZipStream.Async.cs b/src/SharpCompress/Compressors/Deflate/GZipStream.Async.cs index 4a70c519..db8bfbcc 100644 --- a/src/SharpCompress/Compressors/Deflate/GZipStream.Async.cs +++ b/src/SharpCompress/Compressors/Deflate/GZipStream.Async.cs @@ -183,7 +183,7 @@ public partial class GZipStream } #endif -#if !LEGACY_DOTNET || NETSTANDARD2_1 +#if STREAM_DISPOSEASYNC public override async ValueTask DisposeAsync() #else public async ValueTask DisposeAsync() @@ -200,7 +200,7 @@ public partial class GZipStream await BaseStream.DisposeAsync().ConfigureAwait(false); } -#if !LEGACY_DOTNET || NETSTANDARD2_1 +#if STREAM_DISPOSEASYNC await base.DisposeAsync().ConfigureAwait(false); #endif } diff --git a/src/SharpCompress/Compressors/Deflate/ZlibBaseStream.cs b/src/SharpCompress/Compressors/Deflate/ZlibBaseStream.cs index adb462b1..b574e74c 100644 --- a/src/SharpCompress/Compressors/Deflate/ZlibBaseStream.cs +++ b/src/SharpCompress/Compressors/Deflate/ZlibBaseStream.cs @@ -510,7 +510,7 @@ internal partial class ZlibBaseStream : Stream, IStreamStack } } -#if !LEGACY_DOTNET || NETSTANDARD2_1 +#if STREAM_DISPOSEASYNC public override async ValueTask DisposeAsync() #else public async ValueTask DisposeAsync() @@ -521,7 +521,7 @@ internal partial class ZlibBaseStream : Stream, IStreamStack return; } isDisposed = true; -#if !LEGACY_DOTNET || NETSTANDARD2_1 +#if STREAM_DISPOSEASYNC await base.DisposeAsync().ConfigureAwait(false); #endif if (_stream is null) diff --git a/src/SharpCompress/Compressors/Deflate/ZlibStream.Async.cs b/src/SharpCompress/Compressors/Deflate/ZlibStream.Async.cs index 058bd28e..8e433214 100644 --- a/src/SharpCompress/Compressors/Deflate/ZlibStream.Async.cs +++ b/src/SharpCompress/Compressors/Deflate/ZlibStream.Async.cs @@ -21,7 +21,7 @@ public partial class ZlibStream await _baseStream.FlushAsync(cancellationToken).ConfigureAwait(false); } -#if !LEGACY_DOTNET +#if STREAM_DISPOSEASYNC public override async ValueTask DisposeAsync() { if (_disposed) diff --git a/src/SharpCompress/Compressors/LZMA/Lzma2EncoderStream.cs b/src/SharpCompress/Compressors/LZMA/Lzma2EncoderStream.cs index 7440ff66..2790b7c5 100644 --- a/src/SharpCompress/Compressors/LZMA/Lzma2EncoderStream.cs +++ b/src/SharpCompress/Compressors/LZMA/Lzma2EncoderStream.cs @@ -200,7 +200,7 @@ internal sealed class Lzma2EncoderStream : Stream private static readonly byte[] _endMarker = [0x00]; -#if !LEGACY_DOTNET || NETSTANDARD2_1 +#if STREAM_DISPOSEASYNC public override async ValueTask DisposeAsync() #else public async ValueTask DisposeAsync() @@ -229,7 +229,7 @@ internal sealed class Lzma2EncoderStream : Stream } } -#if !LEGACY_DOTNET || NETSTANDARD2_1 +#if STREAM_DISPOSEASYNC await base.DisposeAsync().ConfigureAwait(false); #endif } diff --git a/src/SharpCompress/Compressors/LZMA/LzmaStream.Async.cs b/src/SharpCompress/Compressors/LZMA/LzmaStream.Async.cs index 1c87d5e1..0c23a259 100644 --- a/src/SharpCompress/Compressors/LZMA/LzmaStream.Async.cs +++ b/src/SharpCompress/Compressors/LZMA/LzmaStream.Async.cs @@ -454,7 +454,7 @@ public partial class LzmaStream } #endif -#if !LEGACY_DOTNET || NETSTANDARD2_1 +#if STREAM_DISPOSEASYNC public override async ValueTask DisposeAsync() #else public async ValueTask DisposeAsync() @@ -494,7 +494,7 @@ public partial class LzmaStream } } -#if !LEGACY_DOTNET || NETSTANDARD2_1 +#if STREAM_DISPOSEASYNC await base.DisposeAsync().ConfigureAwait(false); #endif GC.SuppressFinalize(this); diff --git a/src/SharpCompress/Compressors/PPMd/PpmdStream.cs b/src/SharpCompress/Compressors/PPMd/PpmdStream.cs index 744682c4..d6a97a61 100644 --- a/src/SharpCompress/Compressors/PPMd/PpmdStream.cs +++ b/src/SharpCompress/Compressors/PPMd/PpmdStream.cs @@ -160,7 +160,7 @@ public class PpmdStream : Stream, IAsyncDisposable } catch { -#if LEGACY_DOTNET && !NETSTANDARD2_1 +#if !STREAM_DISPOSEASYNC instance.Dispose(); #else await instance.DisposeAsync().ConfigureAwait(false); @@ -196,7 +196,7 @@ public class PpmdStream : Stream, IAsyncDisposable base.Dispose(disposing); } -#if !LEGACY_DOTNET || NETSTANDARD2_1 +#if STREAM_DISPOSEASYNC public override async ValueTask DisposeAsync() #else public async ValueTask DisposeAsync() @@ -215,7 +215,7 @@ public class PpmdStream : Stream, IAsyncDisposable _modelH?.Dispose(); _modelH = null; -#if !LEGACY_DOTNET || NETSTANDARD2_1 +#if STREAM_DISPOSEASYNC await base.DisposeAsync().ConfigureAwait(false); #endif } diff --git a/src/SharpCompress/Compressors/ZStandard/CompressionStream.Async.cs b/src/SharpCompress/Compressors/ZStandard/CompressionStream.Async.cs index 5f988e4c..d788d152 100644 --- a/src/SharpCompress/Compressors/ZStandard/CompressionStream.Async.cs +++ b/src/SharpCompress/Compressors/ZStandard/CompressionStream.Async.cs @@ -8,7 +8,7 @@ namespace SharpCompress.Compressors.ZStandard; public partial class CompressionStream { -#if !LEGACY_DOTNET || NETSTANDARD2_1 +#if STREAM_DISPOSEASYNC public override async ValueTask DisposeAsync() #else public async ValueTask DisposeAsync() @@ -16,7 +16,7 @@ public partial class CompressionStream { if (compressor == null) { -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC Dispose(true); GC.SuppressFinalize(this); await Task.CompletedTask.ConfigureAwait(false); @@ -35,7 +35,7 @@ public partial class CompressionStream ReleaseUnmanagedResources(); GC.SuppressFinalize(this); } -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC Dispose(true); await Task.CompletedTask.ConfigureAwait(false); #else diff --git a/src/SharpCompress/Compressors/ZStandard/DecompressionStream.cs b/src/SharpCompress/Compressors/ZStandard/DecompressionStream.cs index 20490d91..c4161fd2 100644 --- a/src/SharpCompress/Compressors/ZStandard/DecompressionStream.cs +++ b/src/SharpCompress/Compressors/ZStandard/DecompressionStream.cs @@ -203,7 +203,7 @@ public partial class DecompressionStream : Stream } } -#if LEGACY_DOTNET && !NETSTANDARD2_1 +#if !STREAM_DISPOSEASYNC public virtual ValueTask DisposeAsync() { try diff --git a/src/SharpCompress/IO/AsyncDisposableStream.cs b/src/SharpCompress/IO/AsyncDisposableStream.cs index 4c7fafbe..e528b4ce 100644 --- a/src/SharpCompress/IO/AsyncDisposableStream.cs +++ b/src/SharpCompress/IO/AsyncDisposableStream.cs @@ -22,11 +22,11 @@ namespace SharpCompress.IO; /// /// public abstract class AsyncDisposableStream : Stream -#if NO_STREAM_DISPOSEASYNC +#if !STREAM_DISPOSEASYNC , IAsyncDisposable #endif { -#if NO_STREAM_DISPOSEASYNC +#if !STREAM_DISPOSEASYNC public virtual ValueTask DisposeAsync() { Dispose(); diff --git a/src/SharpCompress/IO/ProgressReportingStream.Async.cs b/src/SharpCompress/IO/ProgressReportingStream.Async.cs index fd10398b..449990f5 100644 --- a/src/SharpCompress/IO/ProgressReportingStream.Async.cs +++ b/src/SharpCompress/IO/ProgressReportingStream.Async.cs @@ -45,7 +45,7 @@ internal sealed partial class ProgressReportingStream } #endif -#if !LEGACY_DOTNET +#if STREAM_DISPOSEASYNC public override async ValueTask DisposeAsync() { if (!_leaveOpen) diff --git a/src/SharpCompress/IO/SeekableSharpCompressStream.Async.cs b/src/SharpCompress/IO/SeekableSharpCompressStream.Async.cs index 1bac16de..dd082d39 100644 --- a/src/SharpCompress/IO/SeekableSharpCompressStream.Async.cs +++ b/src/SharpCompress/IO/SeekableSharpCompressStream.Async.cs @@ -28,7 +28,9 @@ internal sealed partial class SeekableSharpCompressStream ReadOnlyMemory buffer, CancellationToken cancellationToken = default ) => _stream.WriteAsync(buffer, cancellationToken); +#endif +#if STREAM_DISPOSEASYNC public override ValueTask DisposeAsync() { if (_isDisposed) diff --git a/src/SharpCompress/IO/SharpCompressStream.Async.cs b/src/SharpCompress/IO/SharpCompressStream.Async.cs index 7b1f376d..2b2057d7 100644 --- a/src/SharpCompress/IO/SharpCompressStream.Async.cs +++ b/src/SharpCompress/IO/SharpCompressStream.Async.cs @@ -251,7 +251,7 @@ public partial class SharpCompressStream } } -#if !LEGACY_DOTNET +#if STREAM_DISPOSEASYNC public override async ValueTask DisposeAsync() { if (!isDisposed) diff --git a/src/SharpCompress/Readers/AbstractReader.Async.cs b/src/SharpCompress/Readers/AbstractReader.Async.cs index 01811afa..7b75cac2 100644 --- a/src/SharpCompress/Readers/AbstractReader.Async.cs +++ b/src/SharpCompress/Readers/AbstractReader.Async.cs @@ -104,7 +104,7 @@ public abstract partial class AbstractReader } } //don't know the size so we have to try to decompress to skip -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var s = await OpenEntryStreamAsync(cancellationToken).ConfigureAwait(false); #else await using var s = await OpenEntryStreamAsync(cancellationToken).ConfigureAwait(false); @@ -138,7 +138,7 @@ public abstract partial class AbstractReader private async ValueTask WriteAsync(Stream writeStream, CancellationToken cancellationToken) { -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var s = await OpenEntryStreamAsync(cancellationToken).ConfigureAwait(false); #else await using var s = await OpenEntryStreamAsync(cancellationToken).ConfigureAwait(false); diff --git a/src/SharpCompress/Readers/IAsyncReaderExtensions.cs b/src/SharpCompress/Readers/IAsyncReaderExtensions.cs index 989026be..12473db3 100644 --- a/src/SharpCompress/Readers/IAsyncReaderExtensions.cs +++ b/src/SharpCompress/Readers/IAsyncReaderExtensions.cs @@ -45,7 +45,7 @@ public static class IAsyncReaderExtensions options, async (x, fm, ct) => { -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var fs = File.Open(x, fm); #else await using var fs = File.Open(x, fm); @@ -87,7 +87,7 @@ public static class IAsyncReaderExtensions options, async (x, fm, ct) => { -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var fs = File.Open(x, fm); #else await using var fs = File.Open(x, fm); @@ -116,7 +116,7 @@ public static class IAsyncReaderExtensions CancellationToken cancellationToken ) { -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var entryStream = await reader #else await using var entryStream = await reader diff --git a/src/SharpCompress/SharpCompress.csproj b/src/SharpCompress/SharpCompress.csproj index c57cb722..d5ba7f80 100644 --- a/src/SharpCompress/SharpCompress.csproj +++ b/src/SharpCompress/SharpCompress.csproj @@ -31,8 +31,8 @@ $(DefineConstants);LEGACY_DOTNET - - $(DefineConstants);NO_STREAM_DISPOSEASYNC + + $(DefineConstants);STREAM_DISPOSEASYNC true diff --git a/src/SharpCompress/Utility.Async.cs b/src/SharpCompress/Utility.Async.cs index a23a88f3..7d1546c5 100644 --- a/src/SharpCompress/Utility.Async.cs +++ b/src/SharpCompress/Utility.Async.cs @@ -70,7 +70,7 @@ internal static partial class Utility ) { // Use ReadOnlySubStream to limit reading and leverage framework's CopyToAsync -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var limitedStream = new IO.ReadOnlySubStream(source, maxLength); #else await using var limitedStream = new IO.ReadOnlySubStream(source, maxLength); diff --git a/src/SharpCompress/Writers/IWriterExtensions.cs b/src/SharpCompress/Writers/IWriterExtensions.cs index 8e37a5b9..d6c94ea0 100644 --- a/src/SharpCompress/Writers/IWriterExtensions.cs +++ b/src/SharpCompress/Writers/IWriterExtensions.cs @@ -77,7 +77,7 @@ public static class IWriterExtensions { throw new ArgumentException("Source does not exist: " + source.FullName); } -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var stream = source.OpenRead(); #else await using var stream = source.OpenRead(); diff --git a/src/SharpCompress/Writers/Zip/ZipWriter.Async.cs b/src/SharpCompress/Writers/Zip/ZipWriter.Async.cs index 2956cc4f..0f3bea53 100644 --- a/src/SharpCompress/Writers/Zip/ZipWriter.Async.cs +++ b/src/SharpCompress/Writers/Zip/ZipWriter.Async.cs @@ -83,7 +83,7 @@ public partial class ZipWriter #if !SYNC_ONLY cancellationToken.ThrowIfCancellationRequested(); #endif -#if LEGACY_DOTNET +#if !STREAM_DISPOSEASYNC using var output = await WriteToStreamAsync( #else await using var output = await WriteToStreamAsync( diff --git a/tests/SharpCompress.Test/SharpCompress.Test.csproj b/tests/SharpCompress.Test/SharpCompress.Test.csproj index 68ff64ae..a8769f29 100644 --- a/tests/SharpCompress.Test/SharpCompress.Test.csproj +++ b/tests/SharpCompress.Test/SharpCompress.Test.csproj @@ -12,6 +12,9 @@ AnyCPU false + + $(DefineConstants);STREAM_DISPOSEASYNC + $(DefineConstants);WINDOWS diff --git a/tests/SharpCompress.Test/Streams/BufferPoolLifetimeTests.cs b/tests/SharpCompress.Test/Streams/BufferPoolLifetimeTests.cs index dd26ba01..a0569d92 100644 --- a/tests/SharpCompress.Test/Streams/BufferPoolLifetimeTests.cs +++ b/tests/SharpCompress.Test/Streams/BufferPoolLifetimeTests.cs @@ -58,7 +58,7 @@ public class BufferPoolLifetimeTests stream.Dispose(); } stream.Dispose(); -#if !LEGACY_DOTNET +#if STREAM_DISPOSEASYNC await stream.DisposeAsync(); #else await Task.CompletedTask; diff --git a/tests/SharpCompress.Test/Streams/SharpCompressLifetimeTests.cs b/tests/SharpCompress.Test/Streams/SharpCompressLifetimeTests.cs index df339154..b38ca2da 100644 --- a/tests/SharpCompress.Test/Streams/SharpCompressLifetimeTests.cs +++ b/tests/SharpCompress.Test/Streams/SharpCompressLifetimeTests.cs @@ -25,7 +25,7 @@ public class SharpCompressLifetimeTests Assert.NotNull(ring.GetValue(stream)); if (asyncDispose) { -#if !LEGACY_DOTNET +#if STREAM_DISPOSEASYNC await Assert.ThrowsAsync(async () => await stream.DisposeAsync()); #else Assert.Throws(() => stream.Dispose()); diff --git a/tests/SharpCompress.Test/Streams/SharpCompressStreamEdgeAsyncTest.cs b/tests/SharpCompress.Test/Streams/SharpCompressStreamEdgeAsyncTest.cs index 1c3b7d18..c2221d10 100644 --- a/tests/SharpCompress.Test/Streams/SharpCompressStreamEdgeAsyncTest.cs +++ b/tests/SharpCompress.Test/Streams/SharpCompressStreamEdgeAsyncTest.cs @@ -9,7 +9,7 @@ namespace SharpCompress.Test.Streams; public class SharpCompressStreamEdgeAsyncTest { -#if !LEGACY_DOTNET +#if STREAM_DISPOSEASYNC [Fact] public async ValueTask DisposeAsync_WithLeaveStreamOpenTrue_DoesNotDisposeUnderlying() diff --git a/tests/SharpCompress.Test/Streams/SharpCompressStreamErrorAsyncTest.cs b/tests/SharpCompress.Test/Streams/SharpCompressStreamErrorAsyncTest.cs index cf90a566..38020859 100644 --- a/tests/SharpCompress.Test/Streams/SharpCompressStreamErrorAsyncTest.cs +++ b/tests/SharpCompress.Test/Streams/SharpCompressStreamErrorAsyncTest.cs @@ -49,7 +49,7 @@ public class SharpCompressStreamErrorAsyncTest } } -#if !LEGACY_DOTNET +#if STREAM_DISPOSEASYNC [Fact] public async ValueTask DisposeAsync_WithThrowOnDisposeTrue_ThrowsInvalidOperation() { diff --git a/tests/SharpCompress.Test/Streams/SharpCompressStreamPassthroughAsyncTest.cs b/tests/SharpCompress.Test/Streams/SharpCompressStreamPassthroughAsyncTest.cs index 521bac6a..862bd442 100644 --- a/tests/SharpCompress.Test/Streams/SharpCompressStreamPassthroughAsyncTest.cs +++ b/tests/SharpCompress.Test/Streams/SharpCompressStreamPassthroughAsyncTest.cs @@ -84,7 +84,7 @@ public class SharpCompressStreamPassthroughAsyncTest Assert.Equal(3, ms.Length); } -#if !LEGACY_DOTNET +#if STREAM_DISPOSEASYNC [Fact] public async ValueTask CreateNonDisposing_DoesNotDisposeUnderlying_Async() { diff --git a/tests/SharpCompress.Test/Streams/WinzipAesCryptoStreamTests.cs b/tests/SharpCompress.Test/Streams/WinzipAesCryptoStreamTests.cs index ecbcba77..861eaf20 100644 --- a/tests/SharpCompress.Test/Streams/WinzipAesCryptoStreamTests.cs +++ b/tests/SharpCompress.Test/Streams/WinzipAesCryptoStreamTests.cs @@ -82,7 +82,7 @@ public class WinzipAesCryptoStreamTests { stream.Dispose(); } -#if !LEGACY_DOTNET +#if STREAM_DISPOSEASYNC else if (completion == "dispose-async") { await stream.DisposeAsync(); @@ -153,7 +153,7 @@ public class WinzipAesCryptoStreamTests stream.Dispose(); } -#if !LEGACY_DOTNET +#if STREAM_DISPOSEASYNC [Fact] public async Task DisposeAsync_Verifies_Unread_Ciphertext() { diff --git a/tests/SharpCompress.Test/Tar/TarArchiveAsyncTests.cs b/tests/SharpCompress.Test/Tar/TarArchiveAsyncTests.cs index ea206009..afa668ed 100644 --- a/tests/SharpCompress.Test/Tar/TarArchiveAsyncTests.cs +++ b/tests/SharpCompress.Test/Tar/TarArchiveAsyncTests.cs @@ -286,7 +286,7 @@ public class TarArchiveAsyncTests : ArchiveTests Assert.Equal(0, opened.Length); } -#if !LEGACY_DOTNET +#if STREAM_DISPOSEASYNC [Fact] public async ValueTask Tar_Save_New_Entry_Async_Only_Streams() { diff --git a/tests/SharpCompress.Test/Zip/ZipArchiveAsyncTests.cs b/tests/SharpCompress.Test/Zip/ZipArchiveAsyncTests.cs index 268e70db..be8c0bc8 100644 --- a/tests/SharpCompress.Test/Zip/ZipArchiveAsyncTests.cs +++ b/tests/SharpCompress.Test/Zip/ZipArchiveAsyncTests.cs @@ -265,7 +265,7 @@ public class ZipArchiveAsyncTests : ArchiveTests Assert.Equal(0, opened.Length); } -#if !LEGACY_DOTNET +#if STREAM_DISPOSEASYNC [Fact] public async ValueTask Zip_Save_New_Entry_Async_Only_Streams() {