2015-03-01 12 views
6

Ho un semplice progetto di sito Web Webforms. Il progetto utilizza Microsoft Application Block Unity 3.5 (DI Container) aggiunto tramite NuGet.Reference.svcmap: Impossibile caricare il file o l'assembly Microsoft.Practices.ServiceLocation, Version = 1.0.0.0

Ora sto usando questo servizio web di terze parti. Dopo aggiungo servizio di riferimento e costruire ottengo questo:

Errore 19 Reference.svcmap: Impossibile caricare il file o l'assembly 'Microsoft.Practices.ServiceLocation, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 'o una delle sue dipendenze . La definizione manifest dell'assembly individuato non corrisponde a e corrisponde al riferimento all'assembly. (Eccezione da HRESULT: 0x80131040) App_WebReferences/MyExternalService/

Così ho installato Microsoft.Practices.ServiceLocation ma conserva ancora lamentano che il montaggio.

enter image description here

Ho provato ad aggiungere questo al mio web.config, ma ancora non funziona.

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="Microsoft.Practices.Unity" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="Microsoft.Practices.ServiceLocation" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 

Appena disinstalla pacchetto Unità, tutto è buono. Nessun errore e posso utilizzare il proxy del servizio

Provato Clean Build, ecc. Ma non funziona.

Qualche idea?

risposta

12

stavo installando il pacchetto sbagliato per ottenere riferimento alla Microsoft.Practices.ServiceLocation

pacchetto sbagliato: enter image description here

pacchetto corretto è: enter image description here

+0

non dovrebbe il gestore di pacchetti gestire questa dipendenza? Ho avuto lo stesso problema –

+0

@ChristianRodriguez Penso che la classe proxy del servizio web abbia bisogno di quella referenza. Unity da solo non richiede quel pacchetto. – gbs

+1

@gbs: probabilmente arriva tardi, ma voglio dirti che dopo aver passato 2 giorni a occuparmi di questo, mi hai salvato. Grazie! –

Problemi correlati