2013-06-18 24 views
7

Ho appena installato autofac in uno dei miei progetti, chiamandolo progetto A, in una soluzione che ho utilizzato nuget. Per qualche motivo tutti i miei file web.config, ho più applicazioni web e le API nella soluzione, ha ottenuto aggiornato con un'assemblea redirect come questo:Perché tutti i miei web.configs vengono aggiornati con un reindirizzamento dell'assembly quando si installa autofac?

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
      <assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" /> 
      <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
</runtime> 

Cosa significa assemblea reindirizzamento significa? E come fa la soluzione a sapere che tutti questi file web.config dovevano essere aggiornati? Perché le mie applicazioni web fanno riferimento al progetto A?

risposta

10

Questo non ha nulla a che fare con Autofac, perché è caratteristica NuGet:

Dal nuget-1.2 release notes:

Aggiungi automaticamente Redirect rilegatura

Quando si installa un pacchetto con forti assemblee con nome, Nuget ora è possibile rilevare casi in cui il progetto richiede reindirizzamenti vincolanti da aggiungere al file di configurazione nell'ordine per il progetto da compilare e aggiungerli aut omatically.

Si può leggere di più sul perché sono necessari i redericts montaggio nell'articolo citato anche nelle note di rilascio: NuGet versioning Part 3: unification via binding redirects

conoscere la rederiction assemblea, in generale, si può iniziare su MSDN: Redirecting Assembly Versions

0

È possibile evitare ciò verificando VS:

Strumenti -> Opzioni -> Nuget Package Manager ->Salta l'applicazione di reindirizzamenti di binding

Problemi correlati