#c# #.net #structuremap #structuremap4
#c# #.net #structuremap #structuremap4
Вопрос:
Я пытаюсь просканировать все сборки во вложенной папке моего основного проекта, а затем добавить содержащийся реестр в мой основной реестр, чтобы переопределить записи реестра по умолчанию, где это необходимо, и перехватить типы для внедрения зависимостей.
Для этого я создаю следующий реестр
public PluginRegistryAdder(string pluginPath)
{
Scan(x =>
{
x.AssembliesFromPath(pluginPath);
x.LookForRegistries();
});
}
который я планирую добавить в свой основной контейнер следующим образом:
var pluginRegistries = new PluginRegistryAdder(pluginPath);
Container.Configure(_ => _.IncludeRegistry(pluginRegistries));
Проблема, с которой я сейчас сталкиваюсь, заключается в том, что я получаю эту ошибку при использовании AssembliesFromPath
и не знаю, как ее исправить:
System.Исключение Missingmethod: метод не найден: ‘Аннулирует StructureMap.Graph.IAssemblyScanner.AssembliesFromPath(Система.Строка)’.
Поиск в Google подсказывает, что я должен использовать пространство StructureMap.Graph
имен, но это не решило проблему. Вот мои инструкции using, только один из которых StructureMap
не выделен серым цветом (например, помечен как не избыточный) Visual Studio (я пытался найти недостающую ссылку, но ничего не помогло):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using StructureMap;
using StructureMap.Graph;
using StructureMap.Configuration.DSL;
using StructureMap.Configuration;
using StructureMap.Graph.Scanning;
using StructureMap.Util;
Есть какие-нибудь предложения, что мне следует попробовать?!
Обновления:
- Обратите внимание, что когда я комментирую только строку с
AssembliesFromPath
помощью, решение работает просто отлично, хотяLookForRegistries
и определено в том же классе,AssembliesFromPath
что и . AssembliesFromApplicationBaseDirectory
у меня та же проблема.
Ответ №1:
Эта проблема, похоже, была вызвана несоответствием версий между моим проектом DI и моим основным проектом. После некоторых попыток я закончил переустановкой новейшей версии StructureMap в обоих проектах, и проблема исчезла.