2014-07-09

Visual Studio, Webforms e ANTLR

O Webforms no Visual Studio (2012, 2013, outros?) usa o Webgrease.

O Webgrease puxa um DLL, Antlr3.Runtime, versão 3.4.1.9004.

Se usarem o ANTLR num projecto, podem fazê-lo via:

  1. via Nuget
  2. via unzip para pasta adicionar o ANTLR para lá, e acrescentarem a referência no projeto.

Se por sua vez usarem esse projecto num Website em Webforms, vai haver colisão

Caso usem a 2ª via (e potencialmente a 1ª, mas não cheguei a testar instalando o ANTLR via Nuget), no vosso site:
  • removam a referência ao ANTLR 3.4.1.9004 (no 2012 acho que é o 3.2.qqcoisa)
  • adicionem a referência ao vosso ANTLR (no meu caso, 3.5.0.2)
  • redirecionem todos os pedidos ao ANTLR antigo para o novo, no Web.config:

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" />
        <bindingRedirect oldVersion="3.4.1.9004" newVersion="3.5.0.2" />
      </dependentAssembly>
 <dependentAssembly>
<assemblyIdentity name="WebGrease" culture="neutral" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234"/>
 </dependentAssembly>
    </assemblyBinding>
  </runtime>

No comments: