带有 Fellow-oak DICOM 的 Xamarin 不会在 bin 文件夹中创建 DicomNative.dll

Xamarin with Fellow-oak DICOM doesn't not create DicomNative.dll in bin folder

我在 Windows 8.1 Xamarin 项目(共享项目,Xamarin.Android & Xamarin.iOS )上创建了一个简单的 dicom 图像查看器。

我们正在使用通过 nuget-packages 安装的 Fellow-oak Dicom。

在共享项目中,有一种方法负责使用来自 Fellow-oak DICOM 的 DicomImage 对象加载新的 dicom 图像。

foreach(string file_name in files)
        {
            try
            {

                dicom_file = DicomFile.Open(file_name);
                DicomImage dcmimg = new DicomImage(file_name);

                file_list.Add(dcmimg);
            }catch(Exception e)
            {
                Console.WriteLine(e.ToString());
            }
        }
    }

从 Xamarin.Android 调用负责加载 DicomImage 的函数 在移动设备上部署应用程序并尝试加载 dcm 图像后,发生崩溃并显示以下错误: “没有为传输语法注册编解码器:JPEG 2000 图像压缩”

经过研究,我发现问题的根源可能是什么:缺少应该在构建项目后创建的 DicomNative dll,但它没有。所以在互联网上有关于将目标平台设置为 x64 或 x86 的说法,但没有帮助。 我已经将解决​​方案中的所有项目的目标平台设置为 x64,然后尝试使用 x86。

是否有任何其他方法强制包含此 dll(我不知道从哪里可以物理下载这个缺少的编解码器)或者可能有其他解决此问题的方法?

在 Xamarin iOS 和 Android 的 fo-dicom 版本 2.0.x 中,完全不支持压缩编解码器。

在目前处于 Beta 阶段的 3.0 版中,对于 XamariniOS 和 Android,对 JPEG 8 位基线和渐进式的支持有限编解码器和 JPEG2000 8 位(单色和 RGB)。

全面支持,包括 12 位和 16 位单色图像、JPEG Lossless 和 JPEG-LS 近乎无损和无损,仅适用于 .NET Framework 和 Universal Windows平台,UWP。缺少 Dicom.Native DLL 的问题仅与 .NET Framework 有关。

.NET Framework 和 UWP 实现正在使用更完整的 C/C++ class 库来支持编解码器,而 Xamarin 实现目前正在使用基于 C# 的托管代码 class 库 LibJpeg.NET and CSJ2K,这些库在 DICOM 上下文中受到的限制要大得多。