C#: Как загрузить блок из GAC?

У меня есть "mycomp.myassembly.dll" в GAC, но Загрузка и LoadFrom бросают файл, не найденный исключением и пустым указателем возвратов LoadWithPartialName. Я делаю следующее:

    AssemblyName name = new AssemblyName();
    name.Name = "mycomp.myassembly.dll";

    Assembly assembly = Assembly.Load(name);

сбои с FileNotFound для файла mycomp.myassembly.dll, и

    Assembly assembly = Assembly.Load("mycomp.myassembly.dll");

сбои с точно тем же сообщением.

Я проверил тот блок дважды, находится в GAC (и даже сделал gacutil/, если для него снова) и он действительно работает во всех других случаях, я просто не могущий загрузить его сам.

Что я делаю неправильно здесь? Я пропускаю что-то?

10
задан starblue 17 February 2010 в 20:53
поделиться

2 ответа

Теоретически одно из семейства «WS-DeatStar» -протоколов, а именно WS-Transaction , имеет дело именно с этим. Однако я не знаю (я не являюсь разработчиком PHP) о каких-либо реализациях этого стандарта в PHP.

-121--4950464-

Другой метод, который также работает с другими языками поверх JVM, заключается в объявлении интерфейса для функций, которые вы хотите вызвать, а затем использовать функцию «proxy» для создания экземпляра, который реализует их.

-121--660984-

Пытались ли вы использовать полное имя сборки? (например, «ycomp.myassembly.dll, Version = 1,0,2004,0, Culture = нейтральный, PublicKeyToken = 8744b20f8da049e3» )

21
ответ дан 3 December 2019 в 17:58
поделиться

попробуйте просто загрузка с полным именем

 // You must supply a valid fully qualified assembly name.            
        Assembly SampleAssembly = Assembly.Load
            ("SampleAssembly, Version=1.0.2004.0, Culture=neutral, PublicKeyToken=8744b20f8da049e3");

Я обычно могу загрузить без версии, культуры и открытого ключа.

1
ответ дан 3 December 2019 в 17:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: