Создание сборки GAC для загрузки пользовательской сборки - PullRequest
0 голосов
/ 25 сентября 2018

У моего приложения есть dll, который будет вызываться сборками .NET Framework, которые находятся в Global Assembly Cache.Это прекрасно работает на локальной машине.

У меня проблема с веб-приложением Azure.В веб-приложениях Azure я не мог добавить свою сборку в GAC.Поэтому всякий раз, когда DLL-файл GAC (System.dll, System.Xml.dll, .. и т. Д.) Пытается загрузить мою сборку, происходит сбой, вызывая исключение файла, не найденного.Но в этом же процессе моя сборка была загружена в другой домен приложения / LM / 2 / ..., а не в AppDomain "EE Shared Assembly Repository".

  var appDomain = AppDomain.CreateDomain("New AppDomain", null, new AppDomainSetup
        {
            CachePath = AppDomain.CurrentDomain.SetupInformation.CachePath,
            ShadowCopyFiles = "true",
            LoaderOptimization = LoaderOptimization.SingleDomain //tried MultiDomain too
        });

Некоторым кодом, как указано выше, я попытался создать домен приложений с различными конфигурациями и наборами loaderoptimization и загрузил в него сборку, чтобы System.dll могла найти и загрузить мою сборку.Но это тоже не получается.

Как я могу сделать так, чтобы моя сборка (которая присутствует в% home% \ wwwroot \ bin) была загружена в dll, присутствующие в GAC ..?

1 Ответ

0 голосов
/ 25 сентября 2018

Полагаю, вам нужно установить ApplicationBase и PrivateBinPath для объекта AppDomainSetup, чтобы он знал, откуда загружать ваши сборки.

...