C ++ / CLI - C#错误 - 由' CLI_DLL.dll导入的过程'无法加载

时间:2016-08-12 09:32:40

标签: c# visual-c++ c++-cli

我正在使用特定硬件并从h / w供应商处获得.lib和.dll。需要使用C#中的本机dll函数,所以我试图在它们之间使用C ++ / CLI概念。

我的本​​机代码构建正常并生成.lib和.dll文件,我将此文件与C ++ / CLI DLL一起使用,它也构建良好并提供.dll文件。在C#中使用此文件时,我收到的错误如下: -

Unhandled Exception: System.IO.FileLoadException: A procedure imported by 'CLI_DLL.dll' could not be loaded.
   at C_sharp_Code.Program.Main(String[] args)

重要的是,当我尝试从CLR控制台应用程序访问本机dll时,它工作正常但是当我从CLR DLL调用本机函数时,dll正在构建正常但在下面给出以下错误在C#控制台应用程序中使用它。

C ++ / CLI .h文件

#pragma once

using namespace System;


extern "C" _declspec(dllimport) bool N_Enabale_Port();

namespace CLI_DLL {

    public ref class Class1
    {
        // TODO: Add your methods for this class here.
    public:
        bool M_Enabale_Port();

    };
}

C ++ / CLI CPP

#include "stdafx.h"

#include "CLI_DLL.h"


bool CLI_DLL::Class1::M_Enabale_Port()
{

    bool temp =  N_Enabale_Port();
    return temp;

}

C#代码

using CLI_DLL;

namespace C_sharp_Code
{
    class Program
    {

        static void Main(string[] args)
        {
            try
            {

                Class1 obj = new Class1();

                bool x = obj.M_Enabale_Port();
                Console.WriteLine(x);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }



    }
}

我遗失某些东西的任何建议......

0 个答案:

没有答案