I am moving an old library project from .NET Framework 4.7.1 to .NET 7/8. One of the goals is to make the libraries cross-platform rather than Windows-only. So far I have succeeded, but there's a last issue. My code uses the ShellFile
type in the Microsoft.WindowsAPICodePack.Shell
package to read file metadata, that is, the bits of information that you get when you look at the Details tab in the File Properties dialog box in Windows:
Unfortunately, this package requires that my library uses the net7.0-windows
target framework rather than just net7.0
.
Note that I am not aiming to read .docx
details specifically, but those of any file. I am assuming that MacOS, Linux and other platforms have something similar to Windows in relation to storing and retrieving file metadata like Windows does.
Is there a cross-platform alternative to this? I would like a package that can read the basic metadata of files in the file system, such as their title or authors, while hiding the platform-specific details. Thanks.