C# C的简单ITK安装教程 我以前用C++做过ITK,现在我在C中尝试使用简单的ITK。我已经看过了2011年的MICCAI教程,我正在尝试开始。我使用的是Windows7 64位计算机和VisualStudioUltimate 2010。 据我所知,我应该能够解压并引用.dll到我的项目,它应该工作。 我可以将SimpleTkSharpManaged.dll添加到我的引用中。但是,我无法将SimpleTkSharpNative.dll添加到我的引用中。它给了我一个错误: 请确保该文件可访问,并且是有效的程序集或COM组件

C# C的简单ITK安装教程 我以前用C++做过ITK,现在我在C中尝试使用简单的ITK。我已经看过了2011年的MICCAI教程,我正在尝试开始。我使用的是Windows7 64位计算机和VisualStudioUltimate 2010。 据我所知,我应该能够解压并引用.dll到我的项目,它应该工作。 我可以将SimpleTkSharpManaged.dll添加到我的引用中。但是,我无法将SimpleTkSharpNative.dll添加到我的引用中。它给了我一个错误: 请确保该文件可访问,并且是有效的程序集或COM组件,c#,itk,C#,Itk,然后我尝试运行一个简单的控制台应用程序 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using itk.simple; namespace TestSimpleItk { class Program { static void Main(string[] args) {

然后我尝试运行一个简单的控制台应用程序

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using itk.simple;

namespace TestSimpleItk
{
    class Program
    {
        static void Main(string[] args)
        {
            string inputFilename = "001.png";
            if (File.Exists(inputFilename))
            {
                try
                {
                    var input = SimpleITK.ReadImage(inputFilename);
                    var binary = SimpleITK.BinaryThreshold(input, 100, 255, 255, 0);
                    SimpleITK.WriteImage(binary, "cthead1-binary.png");
                }
                catch (Exception ex)
                { 
                    Console.WriteLine("{0}", ex);
                }

            }
            else
            {
                Console.WriteLine("File '{0}' does not exist", inputFilename);
            }
        }
    }
}
引发的异常是: {“itk.simple.SimpleITKPINVOKE”的类型初始值设定项引发了异常。} 内部的例外是: {试图加载格式不正确的程序。HRESULT异常:0x8007000B}

我试图将SimpleTkSharpNative.dll复制到我的bin/debug目录,但仍然收到相同的错误

关于如何解决这个问题,或者如何在不使用CMAKE从源代码本地构建SimpleTk的情况下启动并运行SimpleTk,有什么想法吗


谢谢ITK的Dan Mueller回答了我的问题。以下是他不得不说的:

嗨,费德里科

您收到的错误提示: 试图加载格式不正确的程序

当.NET程序试图访问数据库中的函数时,会发生此错误 使用不同体系结构构建的dll;例如,见 在这里:

解决此问题的最简单方法是使用相同的建筑设置 简单地说。例如,如果您下载了 SimpleTk-0.4.0-CSharp-Win64-anycpu.zip然后调用程序 应使用x64 AnyCPU设置构建。如果你下载了 SimpleTk-0.4.0-CSharp-Win32-x86.zip您应该使用x86 Win32 设置

回答另一个问题:只需添加 SimpleTkSharpManaged.dll到您的程序引用,但是 SimpleTckSharpNative.dll必须以最简单的方式位于探测路径中 实现这一点的方法是将它放在您的 程序可执行文件和托管dll。这一点在会议上进行了解释 下一页此页适用于Linux,但使用相同的方法 Windows也需要:

请让我们知道你进展如何


干杯,丹

来自ITK的丹·米勒回答了我的问题。以下是他不得不说的:

嗨,费德里科

您收到的错误提示: 试图加载格式不正确的程序

当.NET程序试图访问数据库中的函数时,会发生此错误 使用不同体系结构构建的dll;例如,见 在这里:

解决此问题的最简单方法是使用相同的建筑设置 简单地说。例如,如果您下载了 SimpleTk-0.4.0-CSharp-Win64-anycpu.zip然后调用程序 应使用x64 AnyCPU设置构建。如果你下载了 SimpleTk-0.4.0-CSharp-Win32-x86.zip您应该使用x86 Win32 设置

回答另一个问题:只需添加 SimpleTkSharpManaged.dll到您的程序引用,但是 SimpleTckSharpNative.dll必须以最简单的方式位于探测路径中 实现这一点的方法是将它放在您的 程序可执行文件和托管dll。这一点在会议上进行了解释 下一页此页适用于Linux,但使用相同的方法 Windows也需要:

请让我们知道你进展如何

干杯,丹