Não foi possível carregar o arquivo ou o assembly 'System.Web.Razor' ou uma de suas dependências

Eu usei Umbraco 4.11.6 no meu site (web application) .Meu site é trabalhado em localhost (testado a partir do Visual Studio 2012 e IIS (v7)), mas quando eu corri-lo do espaço da Internet eu recebi um erro. O erro foi:

Não foi possível carregar o arquivo ou o assembly 'System.Web.Razor' ou uma de suas dependências. A definição de manifesto do assembly localizado não corresponde à referência de assembly. (Exceção de HRESULT: 0x80131040)

Rastreamento de Carga de Montagem: As informações a seguir podem ser úteis para determinar por que o assembly 'System.Web.Razor' não pôde ser carregado.

WRN: O registro de ligação da montagem está desativado. Para habilitar o log de falhas de ligação de assembly, defina o valor do Registro [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) como 1. Observação: há alguma penalidade de desempenho associada ao log de falha de ligação de assembly. Para desativar esse recurso, remova o valor de registro [HKLM \ Software \ Microsoft \ Fusion! EnableLog].

Rastreamento de pilha:

[FileLoadException: não foi possível carregar o arquivo ou assembly 'System.Web.Razor' ou uma de suas dependências. A definição de manifesto do assembly localizado não corresponde à referência de assembly. (Exceção de HRESULT: 0x80131040)]

[FileLoadException: não foi possível carregar o arquivo ou assembly 'System.Web.Razor, versão = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' ou uma de suas dependências. A definição de manifesto do assembly localizado não corresponde à referência de assembly. (Exceção de HRESULT: 0x80131040)] System.Reflection.RuntimeAssembly._nLoad (AssemblyName fileName, código de cadeia StringBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark e stackMark, IntPtr pPrivHostBinder, Booleano throwOnFileNotFound, Booleano paraIntrospection, Boolean suppressSecurityChecks) +0
System.Reflection.RuntimeAssembly.InternalLoadAssemblyName (AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark e stackMark, IntPtr pPrivHostBinder, Booleano throwOnFileNotFound, Booleano paraIntrospection, Booleano suppressSecurityChecks) +210
System.Reflection.RuntimeAssembly.InternalLoad (String assemblyString, Evidência assemblySecurity, StackCrawlMark e stackMark, IntPtr pPrivHostBinder, Booleano paraIntrospection) +242
System.Reflection.RuntimeAssembly.InternalLoad (String assemblyString, Evidence assemblySecurity, StackCrawlMark e stackMark, Boolean paraIntrospection) +17 System.Reflection.Assembly.Load (String assemblyString) +35
System.Web.Configuration.CompilationSection.LoadAssemblyHelper (String assemblyName, Boolean starDirective) +122

[ConfigurationErrorsException: não foi possível carregar o arquivo ou assembly 'System.Web.Razor, versão = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' ou uma de suas dependências. A definição de manifesto do assembly localizado não corresponde à referência de assembly. (Exceção de HRESULT: 0x80131040)]
System.Web.Configuration.CompilationSection.LoadAssemblyHelper (String assemblyName, Boolean starDirective) +12761078
System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory () +503 System.Web.Configuration.AssemblyInfo.get_AssemblyInternal () +142 System.Web.Compilation.BuildManager.GetReferencedAssemblies (CompilationSection compConfig) +334
System.Web.Compilation.BuildManager.CallPreStartInitMethods (String preStartInitListPath) +203
System.Web.Compilation.BuildManager.ExecutePreAppStart () +152
System.Web.Hosting.HostingEnvironment.Initialize (ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exceção appDomainCreationException) +1151

[HttpException (0 x 80004005): não foi possível carregar o arquivo ou assembly 'System.Web.Razor, versão = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' ou uma de suas dependências. A definição de manifesto do assembly localizado não corresponde à referência de assembly. (Exceção de HRESULT: 0x80131040)]
System.Web.HttpRuntime.FirstRequestInit (contexto HttpContext) +12881540 System.Web.HttpRuntime.EnsureFirstRequestInit (contexto HttpContext) +159 System.Web.HttpRuntime.ProcessRequestNotificationPrivate (IIS7WorkerRequest wr, contexto HttpContext) +12722601

Informações sobre versão: Microsoft .NET Framework Versão: 4.0.30319; Versão do ASP.NET: 4.0.30319.17929

uma parte do WebConfig:

<runtime>
<!-- Old asp.net ajax assembly bindings -->
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="4.0.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="4.0.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
  </dependentAssembly>
  <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>

questionAnswers(5)

yourAnswerToTheQuestion