easyhookはvs2010で「gacにアセンブリをインストールできない」エラーを発射します

StackOverflow https://stackoverflow.com/questions/4626556

  •  30-09-2019
  •  | 
  •  

質問

私はまだeasyhookエクササイズを実行しようとしています。今、私はこのエラーを取得します:

      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をフックテストデバッグフォルダーにコピーしてから、デバッグモードで実行します。たぶん、私は絶対的なパスを使用して、testinject.dllがどこにあるかを示す必要がありますか?または、どこかにライブラリを追加しますか?

更新1

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

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

役に立ちましたか?

解決

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

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

他のヒント

ターゲットフレームワークを4.0から3.5に変更してみてください。これでトリックが必要です。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top