使用 C# 和元数据提取器从 .tif 文件读取元数据时抛出异常
Exception thrown when reading meta data from .tif file using c# and metadata extractor
我正在尝试使用元数据提取器 dll 从 .tif 文件中读取元数据,但我不断收到 FileIsNotFoundException。当我使用 .jpeg 文件尝试相同的代码时,它工作正常。
FileStream OriginalFile = new FileStream(FullPath, FileMode.Open, FileAccess.Read, FileShare.Read);
IEnumerable<MetadataExtractor.Directory> directories = ImageMetadataReader.ReadMetadata(OriginalFile);
foreach (var directory in directories)
foreach (var tag in directory.Tags)
Console.WriteLine($"{directory.Name} - {tag.Name} = {tag.Description}");
编辑:我重新安装了包,现在我项目的包文件夹中有 XmpCore.dll,但我仍然看到与以前相同的异常。适用于 .jpeg 和 .psd 文件。
Exception thrown when trying open a .tiff image
FileNotFoundException 表示您的 FullPath 不包含实际位于磁盘上的文件。
尝试添加:
Console.WriteLine(FullPath);
Console.WriteLine(File.Exists(FullPath));
还要仔细检查 .tif 和 .tiff。
编辑 您的屏幕截图显示丢失的文件是 XmpCore.dll
。当您将 NuGet 引用添加到 MetadataExtractor
时,您还应该选择 XmpCore
.
下面是 packages.config
的示例:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MetadataExtractor" version="1.5.3" targetFramework="net45" />
<package id="SharpZipLib" version="0.86.0" targetFramework="net45" />
<package id="XmpCore" version="1.2.2" targetFramework="net45" />
</packages>
确保您也有相关的项目参考资料。
使用上述 packages.config
构建新的 .NET 4.5 控制台项目后,bin/Debug
文件夹如下所示:
以及 packages
文件夹的内容:
我通过在解决方案资源管理器中的引用下将 XmpCore 的复制本地 属性 更改为 True 来解决异常。
我正在尝试使用元数据提取器 dll 从 .tif 文件中读取元数据,但我不断收到 FileIsNotFoundException。当我使用 .jpeg 文件尝试相同的代码时,它工作正常。
FileStream OriginalFile = new FileStream(FullPath, FileMode.Open, FileAccess.Read, FileShare.Read);
IEnumerable<MetadataExtractor.Directory> directories = ImageMetadataReader.ReadMetadata(OriginalFile);
foreach (var directory in directories)
foreach (var tag in directory.Tags)
Console.WriteLine($"{directory.Name} - {tag.Name} = {tag.Description}");
编辑:我重新安装了包,现在我项目的包文件夹中有 XmpCore.dll,但我仍然看到与以前相同的异常。适用于 .jpeg 和 .psd 文件。
Exception thrown when trying open a .tiff image
FileNotFoundException 表示您的 FullPath 不包含实际位于磁盘上的文件。
尝试添加:
Console.WriteLine(FullPath);
Console.WriteLine(File.Exists(FullPath));
还要仔细检查 .tif 和 .tiff。
编辑 您的屏幕截图显示丢失的文件是 XmpCore.dll
。当您将 NuGet 引用添加到 MetadataExtractor
时,您还应该选择 XmpCore
.
下面是 packages.config
的示例:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MetadataExtractor" version="1.5.3" targetFramework="net45" />
<package id="SharpZipLib" version="0.86.0" targetFramework="net45" />
<package id="XmpCore" version="1.2.2" targetFramework="net45" />
</packages>
确保您也有相关的项目参考资料。
使用上述 packages.config
构建新的 .NET 4.5 控制台项目后,bin/Debug
文件夹如下所示:
以及 packages
文件夹的内容:
我通过在解决方案资源管理器中的引用下将 XmpCore 的复制本地 属性 更改为 True 来解决异常。