【问题标题】:Xamarin with Fellow-oak DICOM doesn't not create DicomNative.dll in bin folderXamarin 与 Fellow-oak DICOM 不会在 bin 文件夹中创建 DicomNative.dll
【发布时间】:2017-01-06 13:12:15
【问题描述】:

我在 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(我不知道从哪里可以物理下载这个缺少的编解码器)或者可能有其他解决这个问题的方法?

【问题讨论】:

  • 您是否在解决方案资源管理器中检查了 DLL 的属性 - 确保“复制本地”选项设置为 true。另外,我不知道您正在使用的任何库,在某些情况下,DLL 是您在主机上执行的安装的一部分,而不是特定于项目的 bin。
  • @Darren,这个 DLL 在解决方案资源管理器中不存在,我猜它是在构建项目时创建的。
  • 如果您的解决方案中没有形成此 dll 的代码,那么很可能是安装时添加到您的系统中的 dll。同样的安装需要在您的主机系统上完成,或者您需要有另一个过程来复制它,例如 post-build msdn.microsoft.com/en-us/library/aa833213(v=vs.100).aspx
  • 我猜 Fellow-oak DICOM 应该形成这个库或者至少将它分配给我的项目。

标签: c# android xamarin dicom fo-dicom


【解决方案1】:

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

在当前处于测试阶段的 3.0 版中,Xamarin iOS 和 Android 对 JPEG 8 位基线和渐进式编解码器以及 JPEG2000 8 位(单色和 RGB)的支持有限。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-13
    • 2019-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多