Загрузка зависимостей nuget во время выполнения

Я ищу способ запустить код, выполнив следующие шаги:

Получение списка пакетов NuGet (список кортежей («имя пакета», «версия пакета», «путь к основному классу»).Получение их в локальном каталоге (см. Пример кода № 1)Загрузка их в мою программу во время выполненияВыполнение основных классов путем самоанализа (пример кода № 2)

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

Мой главный вопрос:

Как я могу узнать, в каких папках хранились полученные пакеты?Как я могу загрузить содержимое этих каталогов в мою программу?

Спасибо за вашу помощь.

Пример кода № 1:

private static void getPackageByNameAndVersion(string packageID, string version)
{
    IPackageRepository repo = 
            PackageRepositoryFactory.Default                          
                  .CreateRepository("https://packages.nuget.org/api/v2");

   string path = "C:/tmp_repo";
   PackageManager packageManager = new PackageManager(repo, path);
   Console.WriteLine("before dl pkg");
   packageManager.InstallPackage(packageID, SemanticVersion.Parse(version));

}

Пример кода № 2:

private static void loadByAssemblyNameAndTypeName(string assemblyName, string typeName)
{
   AppDomain isolationAppDomain = AppDomain.CreateDomain("tmp");
   object a = isolationAppDomain.CreateInstanceAndUnwrap(assemblyName, typeName);
   Type x = a.GetType();
   MethodInfo m = x.GetMethod("Main");
   m.Invoke(a, new object[] { });
}

Ответы на вопрос(2)

Ваш ответ на вопрос