Easyhook запускает ошибку «Невозможно установить сборку в GAC» на vs2010 - PullRequest
2 голосов
/ 07 января 2011

Я все еще пытаюсь выполнить упражнение 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");

Решение, которое я пытаюсь создать, состоит из двух проектов: библиотеки и приложения. Как только я создаю решение, я копирую 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");

Даже с этим изменением я получаю ту же ошибку

Ответы [ 3 ]

2 голосов
/ 10 апреля 2011

Попробуйте изменить целевой фреймворк с 4.0 на 3.5, что должно сработать.

1 голос
/ 07 января 2011

Обычно это указывает на неверный путь сборки или вы не являетесь администратором.

Это сообщение об ошибке, которое вы можете ожидать.Путь может быть неправильным, потому что вы не указываете полный путь сборки (например, c: \ mumble \ foo.dll).У вас обычно нет прав администратора из-за UAC.Используйте манифест, чтобы получить повышение привилегий, или запустите Visual Studio в режиме администратора (измените ярлык на рабочем столе).

0 голосов
/ 25 января 2011

Даже если вы сами являетесь администратором, это не означает, что приложения, которые вы запускаете, будут повышены до уровня администратора. Фактически, VS 2010 НЕ будет, как и большинство других. Вы действительно должны щелкнуть правой кнопкой мыши «Запуск от имени администратора ...». На самом деле я установил в свойствах ярлыка меню «Пуск» VS пункт «Запуск от имени администратора», чтобы я никогда не забывал об этом, так как я тоже сгорел.

...