2013-07-14 18 views

risposta

10

vedo che hai fornito tu una risposta, ma un'altra soluzione è quella di aggiornare il web.config con un elemento <runtime> che reindirizza assembly dipendenti e punti a quella corretta:

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 

Si noti che l'aggiornamento il progetto di NuGet esegue automaticamente la stessa operazione automaticamente per la maggior parte degli assembly.

+1

impressionante, grazie. In realtà pensavo che la mia soluzione avesse funzionato perché l'ho fatta funzionare localmente. Ma quando sono arrivato alla distribuzione bin sono rimasto bloccato dove una delle mie DLL aveva in qualche modo ottenuto un riferimento al bung nel suo manifest (sto usando un codice che ho copiato e incollato da MvcFutures v1 ma non riesco a vedere nessuna versione menzionata lì). Quindi la tua risposta ha risolto il mio problema correlato secondario! Grazie! –

5

In Esplora soluzioni, fare clic su Riferimenti> System.Web.Mvc. Fare clic su Proprietà e impostare Copia Local = True.

In questo modo sarete sicuri di ottenere la versione corretta di MVC nel progetto e non fare affidamento su alcuna versione (s) installata nel GAC. Questo approccio consente inoltre di distribuire in un bin la DLL MVC.

2

Questa risolto la cosa per me ...

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.Abstractions" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.Routing" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="0.0.0.0-4.0.0.1" newVersion="4.0.0.1" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 
+0

Per favore, aggiungi qualche spiegazione al tuo codice. –

Problemi correlati