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 に答える