Merged
Conversation
# Conflicts: # MetadataExtractor/Formats/Mpeg/Mp3Reader.cs
Contributor
There was a problem hiding this comment.
Pull request overview
General modernization across the solution, primarily adopting file-scoped namespaces and centralizing NuGet package versions.
Changes:
- Converted many C# files from block-scoped to file-scoped namespaces.
- Introduced central package management via
Directory.Packages.propsand removed inline package versions from multiple.csproj/props. - Minor cleanup tweaks (e.g., null checks, stream lifetime handling in tool).
Reviewed changes
Copilot reviewed 300 out of 404 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| MetadataExtractor/Formats/Photoshop/Knot.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Photoshop/DuckyReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Photoshop/DuckyDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Pcx/PcxReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Pcx/PcxMetadataReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Pcx/PcxDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Pcx/PcxDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Netpbm/NetpbmReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Netpbm/NetpbmMetadataReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Netpbm/NetpbmHeaderDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Netpbm/NetpbmHeaderDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Mpeg/MpegAudioTypeChecker.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Mpeg/Mp3Reader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Mpeg/Mp3MetadataReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Mpeg/Mp3Directory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Mpeg/Mp3Descriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jpeg/JpegSegmentWithPreambleMetadataReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jpeg/JpegSegmentType.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jpeg/JpegSegmentReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jpeg/JpegSegment.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jpeg/JpegReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jpeg/JpegProcessingException.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jpeg/JpegMetadataReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jpeg/JpegDnlReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jpeg/JpegDnlDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jpeg/JpegDnlDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jpeg/JpegDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jpeg/JpegDhtReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jpeg/JpegDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jpeg/JpegComponent.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jpeg/JpegCommentReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jpeg/JpegCommentDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jpeg/JpegCommentDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jpeg/IJpegSegmentMetadataReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jpeg/HuffmanTablesDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jpeg/HuffmanTablesDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jfxx/JfxxReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jfxx/JfxxDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jfxx/JfxxDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jfif/JfifReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jfif/JfifDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Jfif/JfifDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/TypeStringConverter.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/SingleItemTypeReferenceBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/PrimaryItemBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/PixelInformationBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/MetaBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/ItemReferenceBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/ItemPropertyContainerBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/ItemPropertyBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/ItemPropertyAssociationBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/ItemLocationBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/ItemInformationBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/ItemInfoEntryBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/ItemDataBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/ImageSpatialExtentsBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/ImageRotationBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/HandlerBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/FullBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/FileTypeBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/DecoderConfigurationBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/DataReferenceBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/DataInformationBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/DataEntryLocationBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Boxes/ColorInformationBox.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/BoxTypes.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/BoxReaderExtensions.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/BoxReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/BoxQuery.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/BoxLocation.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iso14496/Box.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iptc/Iso2022Converter.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iptc/IptcReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iptc/IptcDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Iptc/IptcDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Ico/IcoReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Ico/IcoMetadataReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Ico/IcoDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Ico/IcoDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Icc/IccReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Icc/IccDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Icc/IccDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Heif/HeifMetadataReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Heif/HeicThumbnailTagDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Heif/HeicThumbnailDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Heif/HeicImagePropertyDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Heif/HeicImagePropertiesDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Gif/GifReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Gif/GifMetadataReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Gif/GifImageDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Gif/GifImageDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Gif/GifHeaderDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Gif/GifHeaderDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Gif/GifControlDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Gif/GifControlDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Gif/GifCommentDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Gif/GifCommentDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Gif/GifAnimationDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Gif/GifAnimationDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/GeoTiff/GeoTiffDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/GeoTiff/GeoTiffDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Flir/FlirReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Flir/FlirRawDataDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Flir/FlirMainTagType.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Flir/FlirHeaderDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Flir/FlirCameraInfoDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Flir/FlirCameraInfoDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/FileType/FileTypeDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/FileType/FileTypeDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/FileSystem/FileMetadataReader.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/FileSystem/FileMetadataDirectory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/FileSystem/FileMetadataDescriptor.cs | Convert to file-scoped namespace |
| MetadataExtractor/Formats/Exif/makernotes/* | Convert to file-scoped namespaces across many makernote types |
| MetadataExtractor/Formats/Exif/* | Convert to file-scoped namespace (plus minor null-check cleanup in GPS) |
| MetadataExtractor/Formats/Eps/* | Convert to file-scoped namespaces |
| MetadataExtractor/Formats/Bmp/* | Convert to file-scoped namespaces |
| MetadataExtractor/Formats/Avi/* | Convert to file-scoped namespaces |
| MetadataExtractor/Formats/Adobe/* | Convert to file-scoped namespaces |
| MetadataExtractor/Face.cs | Convert to file-scoped namespace |
| MetadataExtractor/DirectoryExtensions.cs | Convert to file-scoped namespace |
| MetadataExtractor/Directory.cs | Convert to file-scoped namespace |
| MetadataExtractor/Age.cs | Convert to file-scoped namespace |
| MetadataExtractor.Tools.JpegSegmentExtractor/Program.cs | Convert to file-scoped namespace |
| MetadataExtractor.Tools.FileProcessor/TextFileOutputHandler.cs | Convert to file-scoped namespace |
| MetadataExtractor.Tools.FileProcessor/Program.cs | Convert to file-scoped namespace + adjust stream lifetime handling |
| MetadataExtractor.Tools.FileProcessor/MarkdownTableOutputHandler.cs | Convert to file-scoped namespace |
| MetadataExtractor.Tools.FileProcessor/IFileHandler.cs | Convert to file-scoped namespace |
| MetadataExtractor.Tools.FileProcessor/FileHandlerBase.cs | Convert to file-scoped namespace |
| MetadataExtractor.Tools.FileProcessor/BasicFileHandler.cs | Convert to file-scoped namespace |
| MetadataExtractor.Tests/* | Convert tests to file-scoped namespaces |
| MetadataExtractor.Tests/MetadataExtractor.Tests.csproj | Remove inline package versions (central package mgmt) |
| MetadataExtractor.Samples/MetadataExtractor.Samples.csproj | Remove inline package versions (central package mgmt) |
| MetadataExtractor.PowerShell/ShowJpegStructure.cs | Convert to file-scoped namespace |
| MetadataExtractor.PowerShell/MetadataExtractor.PowerShell.csproj | Remove inline package versions (central package mgmt) |
| MetadataExtractor.PowerShell/ExtractMetadataCmdlet.cs | Convert to file-scoped namespace |
| MetadataExtractor.Benchmarks/Program.cs | Convert to file-scoped namespace |
| MetadataExtractor.Benchmarks/MetadataExtractor.Benchmarks.csproj | Remove inline package versions (central package mgmt) |
| Directory.Packages.props | Add central package version definitions |
| Directory.Build.props | Switch analyzer/SourceLink refs to central package versions |
| Annotations.cs | Convert to file-scoped namespace (within NETSTANDARD2_0 guard) |
| .git-blame-ignore-revs | Add ignore-revs entry for mass namespace conversion |
| .editorconfig | Enforce file-scoped namespaces |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This was referenced Apr 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Some general modernization of the project.