2

( https://www.nuget.org/packages/UnmanagedExports )を使用して関数の一部をエクスポートしようとしていますが、機能していないようです。

using System;
using System.Collections.Generic;
using System.Text;
using RGiesecke.DllExport;
using System.Runtime.InteropServices;
namespace Verificare
{

    static class Exports
    {
        [DllExport]
        public static void Salut()
        {
        }
    }
}

エクスポートされた関数を表示するために DLL EXPLORER を使用していますが、残念ながら、私の dll にはエクスポートされた関数がありません。

4

1 に答える 1

2

ここで試して検証しましたが、期待どおりに機能しています:

  • クラス ライブラリプロジェクトを作成しました
  • NuGet からパッケージを追加
  • 構成を x86 に変更しました

いくつかの関数を作成しました:

using RGiesecke.DllExport;

namespace ClassLibrary1
{
    public static class Class1
    {
        [DllExport]
        public static int Hello()
        {
            return 1;
        }

        [DllExport]
        public static void Nope()
        {
        }
    }
}

ご覧のとおり、関数は正しくエクスポートされています。

ここに画像の説明を入力

疑わしい場合は、 CFF ExplorerでDLL を確認し、新しいプロジェクトで試してください。

: プロジェクトの別の構成を作成する場合、出力は bin\Debug ではなく bin\x86\Debug にあります。正しい DLL をチェックしていることを確認してください。

于 2013-10-23T16:16:23.193 に答える