Привязки Ninject и Assembly в функции Azure - PullRequest
0 голосов
/ 25 мая 2018

У меня есть функция 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>, обращаются к вещам в своем коде, поэтому возможные решения включают это место.

Заранее спасибо!

...