У меня есть функция Azure, которая полагается на другие сборки, которая, в свою очередь, использует Ninject для внедрения зависимостей.Во время выполнения Ninject, похоже, не может разрешить зависимость для некоторого пользовательского Ninject.Activation.Provider<T>
, что приводит к System.IO.FileNotFoundException
.
Ninject-часть трассировки стека:
в Ninject.Activation.Provider`1.Create (контекст IContext) в Ninject.Activation.Context.ResolveInternal (область действия объекта) в Ninject.Activation.Context.Resolve () в Ninject.KernelBase. <> c__DisplayClass15.b__f (привязка IBinding)в System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext () в System.Linq.Enumerable.SingleOrDefault [TSource] (источник IEnumerable`1) в Ninject.Planning.Targets.Target`1.GetValue (родительский тип, служба IContext)в Ninject.Planning.Targets.Target`1.ResolveWithin (родительский объект IContext) в Ninject.Activation.Providers.StandardProvider.GetValue (контекст IContext, цель ITarget) в Ninject.Activation.Providers.StandardProvider.
Зависимость не устраненаэто System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
(или одна из его зависимостей).Он включен в проект через NuGet.
Однако данная сборка действительно существует на диске в папке bin в функции Azure, и сама сборка в порядке.Поэтому моя теория заключается в том, что Ninject делает что-то своеобразное при создании экземпляра пользовательского Provider<T>
.
Может быть, Ninject ожидает, что зависимости будут собраны в другом месте относительно места выполнения функции или чего-то еще?Может быть, виноват вовсе не Ninject, а скорее какой-то конкретный вопрос, касающийся разрешения зависимостей в среде Azure, о котором я не знаю?
Я надеюсь, что один из вас сможетпомогите мне, пролив свет на то, что здесь происходит, или предложите разумное решение для устранения неполадок, потому что я нарисовал все пробелы в течение пары дней.
Если это так, я могу повлиятькак люди, отвечающие за заказ Provider<T>
, обращаются к вещам в своем коде, поэтому возможные решения включают это место.
Заранее спасибо!