Fórum
Ver pergunta

V10.10 erro no AssemblyResolve   

333 visualizações
3
0

Tenho um projecto que já estava a trabalhar com a V10.08 da Primavera, mas agora ao passar para a V10.10, dá o erro “System.StackOverflowException” no AssemblyResolve.

Verifiquei que o problema é porque a DLL “Newtonsoft.Json.dll”, é chamada indefinidamente, até que acaba por dar o erro. Se ignorar esta DLL no AssemblyResolve, já não dá o erro.

O que poderá estar a acontecer?

 

EDIT: Já descobri qual a origem do erro. Se ao nível do projecto estiver marcada a opção “AutoGenerateBindingRedirects” então acontece o erro descrito. Têm de desmarcar esta opção. Mas só acontece na V10.10.

Faça login para poder traduzir
Integração
V10
Marcado como spam
Criado há 5 anos e 3 meses manuelquelhas
manuelquelhas Responsiveness Member
3 respostas
0
Resposta privada

Esclarecimento no GIT: https://github.com/PrimaverabssDeveloper/ERP10Integration/issues/10

Faça login para poder traduzir
Marcado como spam
Criado há 5 anos e 2 meses nunogonalves
nunogonalves Responsiveness Member
    0
    Resposta privada

    Olá,

    Estou com o mesmo problema. Alguma recomendação/avanço sobre o mesmo?

     

    Obrigado.

    Faça login para poder traduzir
    Marcado como spam
    Criado há 5 anos e 2 meses nunogonalves
    nunogonalves Responsiveness Member
      1
      Resposta privada

      Olá

      Tive esse problema e já não é a primeira vez.

      Isto é o que acho que está acontecer, é que uma das dlls do ERP tem um bindingRedirect para a versão 12 do Newtonsoft.Json.dll

      O BotServiceWatchdog.exe tem isto

      <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />

      Enquanto a maioria das dll tem isto (para versão 11)

      <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="11.0.0.0" />

      A mim também me acontecia mesma coisa, o AutoGenerateBindingRedirects adiciona o bindingRedirect para versão versão 12 e o Assembly Resolve devolve a versão 11 (que é a que está na pasta da APL) e é chamado novamente para dar a versão 12 por causa do bindingredirect e assim sucessivamente até chegares a um StackOverlow.

      Faça login para poder traduzir
      Marcado como spam
      Criado há 5 anos e 3 meses jorgecosta-2
      j
      jorgecosta-2 Iniciante
        Comentários
        Olá Jorge, já estava a achar estranho ser o único com este problema :)
        5 anos e 3 meses
        manuelquelhas
          Acho que só começou a acontecer recentemente
          5 anos e 3 meses
          jorgecosta-2
            Afinal há mais :) A mim começou a acontecer apenas hoje, logo depois de actualizar para a última versão, e nem sequer fiz alteração nenhuma, foi do tipo: de manhã estava tudo bem, à tarde actualizei o Primavera para a última versão, sem fazer mais nada, logo depois já não corria. E realmente verifiquei que tinha a ver com a versão 11 e 12 do Newtonsoft, ao colocar a versão 12 (fui buscar uma que tinha noutro projecto) na pasta dos meus desenvolvimentos, e com a 11 na pasta Apl do Primavera, deixei de ter o problema, mas não é uma solução que me agrade muito. Obrigado pela partilha de informação.
            5 anos e 3 meses
            ricardosousa