1

我想从我的 asp.net 3.5 Web 应用程序链接到 C++ dll,并使用后面代码中的一些函数。如果我使用 DllImport 创建一个 C# 库来链接到 C++ dll,那么我可以将 C# 库链接到 asp.net 应用程序,它似乎可以工作。如何消除 C# 库并直接链接到 C++ dll?

当我尝试在后面的 C# 代码中使用 DllImport 时,它是未定义的,即使代码看起来与 C# 库中的代码相同。

来自 asp.net Web 应用程序的代码(不起作用,因为 DllImport 突出显示为未定义)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Runtime.InteropServices;


/// <summary>
/// Summary description for Chat
/// </summary>
public class Chat
{
    public Chat()
    {
      [DllImport("ChatLib.dll")]
       public static extern void DisplayHelloFromDLL();
    }
}
4

1 回答 1

1

您可能需要将DllImport属性和方法声明放在类级别的侧面构造函数中。

public class Chat
{
    [DllImport("ChatLib.dll")]
    public static extern void DisplayHelloFromDLL();
    public Chat()
    {

    }        
}
于 2013-10-04T17:27:41.827 回答