Я сейчас пытаюсь загрузить сборку во время выполнения.
Я использую AssemblyLoadContext.Default.LoadFromAssemblyPath(path)
. Затем с помощью DependencyContext
и CompositeCompilationAssemblyResolver
я загружаю неразрешенные зависимости, используя - Compile || Время выполнения - свойства. Наконец, я возвращаюсь к загрузке их непосредственно из пути к каталогу, если они еще не найдены.
Однако в некоторых проектах по-прежнему отсутствуют зависимости. Как и следующий
"Не удается найти файл справочной сборки Microsoft.AspNetCore. Mvc .Core.dll" для пакета Microsoft.AspNetCore. Mvc .Core "
Даже если он найден в библиотеках Compile или Runtime, TryResolveAssemblyPaths
не может их найти: /
Спасибо за вашу помощь.
РЕДАКТИРОВАТЬ:
Что ж, после некоторых исследований выяснилось, что после версии 3.1 базового каркаса do tnet некоторые зависимости загружаются непосредственно в сам SDK. Предотвращение загрузки их вручную через ICompilationAssemblyResolver или др.
Так что, если вы столкнулись с такой проблемой в определенных проектах, примените тот же SDK к вызывающей / вызываемой (или импортируйте их). Microsoft. NET .Sdk.Web , например.
Do c: https://docs.microsoft.com/fr-fr/dotnet/core/project-sdk/overview
И: https://github.com/dotnet/cli/blob/master/Documentation/specs/runtime-configuration-file.md
РЕДАКТИРОВАТЬ 2:
Предлагаю вам прочитать эту проблему на github: https://github.com/dotnet/runtime/issues/1050
Г-н Витек Карас ответит на эту проблему более точно.