2014-09-19 8 views
6

Il nostro progetto utilizza asp.Net Web Api e parte dei nostri requisiti agli utenti esanabili per esaminare i dati tramite Excel, volevamo introdurre Feed OData.Mancante DependencyResolver in System.Web.Http 5.2.2

Così ho installato il pacchetto odata:

<package id="Microsoft.AspNet.WebApi.OData" version="5.3.0" targetFramework="net45" /> 

In questo modo sono stati aggiornati i seguenti pacchetti:

- <package id="Microsoft.AspNet.WebApi.Client" version="5.2.0" targetFramework="net45" /> 
- <package id="Microsoft.AspNet.WebApi.Core" version="5.2.0" targetFramework="net45" /> 
+ <package id="Microsoft.AspNet.WebApi.Client" version="5.2.2" targetFramework="net45" /> 
+ <package id="Microsoft.AspNet.WebApi.Core" version="5.2.2" targetFramework="net45" /> 
- <package id="Newtonsoft.Json" version="5.0.6" targetFramework="net45" /> 
+ <package id="Newtonsoft.Json" version="6.0.4" targetFramework="net45" /> 

ho sligthly modificato il mio WebApiConfig aggiungere i percorsi OData (ma credo che questo è irrilevante, motivo per cui non do il codice). Ricostruzione non riuscita più volte, quindi ho deciso di riavviare Visual Studio come consigliato su più post del blog.

Quindi tutto funziona correttamente e avvio il debugger nel progetto. Ottengo la seguente eccezione:

An exception of type 'System.IO.FileLoadException' occurred in Ninject.Web.Common.dll but was not handled in user code 

Additional information: Could not load file or assembly 'System.Web.Http, Version=5.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 

Ho poi guardo la classe di configurazione Ninject vedere che la seguente riga:

GlobalConfiguration.Configuration.DependencyResolver = new NinjectDependencyResolver(kernel); 

mostra la "DependencyResolver" in rosso (Questo è ReSharper) e dice che non posso risolverlo Guardando il Browser degli oggetti, non riesco davvero a trovarlo più.

Quindi, in pratica, ho aggiornato Microsoft.AspNet.WebApi dalla 5.2.0 alla 5.2.2 e ho perso DependencyResolver e compatibilità con Ninject.

Conosci un modo per aggirare questo problema?

risposta

5

Ok sembra che ho trovato la soluzione.

Non è affatto un'incompatibilità tra il Ninject e 5.2.2 di ASPNET

Il problema è che l'installazione di OData aggiornato alcuni pacchetti ASPNET al 5.2.2, ma ha dimenticato alcuni altri. Quando ottengo tutti i pacchetti Microsoft.AspNet.WebApi * alla 5.2.2 il problema sta andando via.

Spero che questo aiuti ancora altre persone ...

+0

Sei un uomo che salva la vita .. grazie per aver pubblicato! – alimac83

+0

Felice di sentire che potrei aiutare ;-) –