2

私はまだeasyhookexercizeを実行しようとしています。今、私はこのエラーを受け取ります:

      System.ApplicationException: Unable to install assembly in the GAC. This usually indicates either an invalid assembly path or you are not admin.
   at EasyHook.NativeAPI.GacInstallAssembly(IntPtr InContext, String InAssemblyPath, String InDescription, String InUniqueID)
   at EasyHook.Config.Register(String InDescription, String[] InUserAssemblies)
   at HookTest.Program.Main()

問題はここで発生しているようです:

        Config.Register(
            "Easy hook test",
            "Hook Test.vshost.exe",
            "TestInject.dll");

私が構築しようとしているソリューションは、ライブラリとアプリケーションの2つのプロジェクトで構成されています。ソリューションをビルドしたら、testinject.dllをhooktestデバッグフォルダーにコピーし、デバッグモードで実行します。たぶん、testinject.dllがどこにあるかを示すために絶対パスを使用する必要がありますか?またはどこかにライブラリを追加しますか?

更新1

            "Easy hook test",
            @"Hook Test.vshost.exe",
            @"I:\Documents and Settings\foo\Desktop\Hook Test\TestInject\bin\Debug\TestInject.dll");

この変更を行っても、同じエラーが発生します

4

3 に答える 3

2

ターゲットフレームワークを4.0から3.5に変更してみてください。これでうまくいくはずです。

于 2011-04-10T12:29:24.990 に答える
1

これは通常、無効なアセンブリパスであるか、管理者ではないことを示しています。

それはあなたが期待できるのと同じくらい良いエラーメッセージです。アセンブリのフルパス(つまり、c:\ mumble \ foo.dll)を指定していないため、パスが間違っている可能性があります。通常、UACのため、管理者権限はありません。マニフェストを使用して特権の昇格を取得するか、Visual Studioを管理者モードで実行します(デスクトップショートカットを変更します)。

于 2011-01-07T14:43:01.133 に答える
0

あなた自身が管理者であっても、実行するアプリが管理者に昇格するという意味ではありません。実際、VS 2010はそうではなく、他のほとんどの場合もそうではありません。実際には、[管理者として実行...]を右クリックする必要があります。私は実際にVSスタートメニューのショートカットのプロパティを「管理者として実行」に設定しました。これも忘れられないようにしています。

于 2011-01-25T09:39:49.520 に答える