Could not load file or assembly System.Data.SqlServerCe Umbraco 7

Corrigindo Could not load file or assembly System.Data.SqlServerCe Umbraco 7

Em alguns casos quando se usa o SqlCe (SQL Server Compact) e se faz a publicação do Umbraco em uma hospedagem, pode acontecer esse erro:

Could not load file or assembly 'System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Para corrigir adicione na web.config:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="System.Data.SqlServerCe" publicKeyToken="89845dcd8080cc91" />
            <bindingRedirect oldVersion="4.0.0.0" newVersion="4.0.0.1" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>

Isso acontece porque existe uma versão mais nova instalada no GAC do servidor da hospedagem (No meu caso é da Umbler, única hospedagem que umbraco funciona muito bem. Logo escreverei sobre hospedagem para Umbraco). Também é possível removendo a System.Data.SqlServerCe.dll da pasta bin. Essa configuração redireciona para uma nova versão do Assembly, fazendo que a aplicação pegue a referência da dll na pasta bin e não do GAC.

Isso é tudo!