5

Non so perché non riesco a capirlo. Sono in un po 'di inferno con nomi forti delle DLL. Ecco cosa sta succedendo:Come posso risolvere questa mancata corrispondenza System.Web.Helpers sulla distribuzione Web di Azure?

  • Sto utilizzando Visual Studio 2012 RC per fare un sito MVC4 mira .NET 4.0
  • Sto tentando di usare l'helper Gravatar Razor nella biblioteca Microsoft.Web.Helpers
  • Funziona sulla mia macchina, ma dopo la distribuzione in Azure tramite Git, ottengo la seguente eccezione durante il richiamo dell'assistente Gravatar:

    Impossibile caricare il file o l'assembly 'System.Web.Helpers, Versione = 2.0.0.0, Cultura = neutrale, PublicKeyToken = 31bf3856ad364e35 'o una delle sue dipendenze. Il sistema non trova il file specificato.

Sembra che ho una mancata corrispondenza tra la versione di System.Web.Helpers installata sul GAC di ciò che sta ospitando il mio sito Azure e quello che sto targeting.

Ecco che cosa ho provato:

  • copia locale = true
  • Hacking la mia cartella propri _bin_deployableAssemblies, dal momento che l'opzione di menu sembra mancare descritto a Phil Haack's blog
  • Rimozione delle informazioni di montaggio esteso a il file .csproj per System.Web.Helpers

Inoltre, ho il seguente reindirizzamento dell'associazione dell'assieme nel web.config:

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> 
     </dependentAssembly> 
     ... 
</runtime> 

Chiunque ??

+0

Hai provato la risposta sotto? Vorrei aiutarti con questo. –

risposta

3

Hai detto che hai provato copylocal = true, ma ti sei assicurato che l'assembly venga distribuito sul server?

A potenziali problemi:

• .gitignore ha un filtro .dll

vorrei FTP al server e controllare l'assemblaggio è in realtà nella directory bin

+0

+1 e accettato. La cosa FTP (che non mi rendevo conto che potevi fare) mi ha portato al problema (copia locale stava copiando l'assembly del server di distribuzione, che era 1.0.xxx e non 2.0.xxx). Ho anche realizzato che la mia cartella _bin_deployableAssembly aveva 'Microsoft.Web.Helpers' invece di' System.Web.Helpers'; una volta che ho aggiunto il giusto assieme a quella cartella, tutto ha funzionato bene. –

Problemi correlati