Mock.Create<>() требующий строгого имени
У меня есть следующее дерево зависимостей
- MyFramework
- Доступ к данным
- процессор
- Processor.Tests
Каждая сборка ссылается на все вышеупомянутые. Итак, Processor.Tests ссылается на Processor, DataAccess и MyFramework. За исключением ссылки ProcessorTests на Processor, все ссылки осуществляются через частный сервер Nuget.
В сборке DataAccess есть интерфейс (IMessageLogger), который мне нужно смоделировать. Один из методов в этих интерфейсах имеет аргумент типа, определенного в MyFramework.
Когда я пытаюсь Mock.Create<IMessageLogger>()
Я получаю следующее исключение
System.IO.FileLoadException: не удалось загрузить файл или сборку 'MyFramework, версия =2017.12.12.1, культура = нейтральная, PublicKeyToken=null' или одна из ее зависимостей. Требуется строгое собрание. (Исключение из HRESULT: 0x80131044)
Ни одна из моих сборок не имеет строгого имени, но Telerik.JustMock имеет строгое имя, но до сих пор не доставляло мне никаких проблем с насмешкой над другими интерфейсами.
У кого-нибудь есть идеи, как я мог бы обойти это?
1 ответ
Оказывается, проблема заключалась в том, что у меня были проекты "Процессор" и "Процессор.Тест", ссылающиеся на версию 2018.3.15 сборки MyFramework, но проект DataAccess ссылался на более старую версию (2017.12.12.1).
Обновлены все проекты, чтобы использовать последние и все снова работает.