2

ac# クラス ライブラリを作成しました。この .dll を自分の win32 コンソール アプリケーションにロードしたいと考えています。これは、C# クラス ライブラリからアンマネージ コードに 1 つの関数をエクスポートしたためです。現在、その関数を呼び出す他の方法がわかりません。しかし、LoadLibraryA でそのエラーが発生しています。これはどういう意味ですか? グーグルは私をまったく助けませんでした。

これを使用して関数を管理対象外にエクスポートしました: https://sites.google.com/site/robertgiesecke/Home/uploads/unmanagedexports#TOC-C- :

編集:コードは次のとおりです。申し訳ありませんが、最初は含まれていませんでした。

using System;
using RGiesecke.DllExport;
using System.Runtime.InteropServices;

namespace ManagedLibrary
{
    public class Test
    {
        [DllExport(CallingConvention = CallingConvention.Cdecl)]
        public static void test()
        {
            Console.WriteLine("HI");
        }
    }
}

ここに画像の説明を入力

4

1 に答える 1

0

管理されていないエクスポートのnugetツールが機能しないようですが、.dllの読み込みエラーはほとんどわかりにくく、見た目とは無関係です(ただし、今は自宅のコンピューターに切り替えました)。ここで説明するように、エクスポートのILステートメントを手動で追加した後:ネイティブプログラムがメソッドを呼び出せるように、CIL DLLのメソッドをどのようにエクスポートしますか?私はC#コードをうまく呼び出すことができました。

于 2013-02-28T20:34:14.850 に答える