♥ 0 | Olá na SR13, está a dar erro “System.StackOverflowException: ‘Tipo de excepção ‘System.StackOverflowException’ accionado.'”, no “AssemblyResolve” na DLL “System.Diagnostics.DiagnosticSource.dll”. Alguém sabe como ultrapassar esta situação? Deixo aqui as imagens do erro. Marked as spam |
Comments Boas,
Encontrei esse problema também na SR13 e (no meu caso) o problema está na versão da System.Diagnostics.DiagnosticSource.
No config da aplicação verifiquei que tinha:
assemblyIdentity name=\”System.Diagnostics.DiagnosticSource\” publicKeyToken=\”cc7b13ffcd2ddd51\” culture=\”neutral\”
bindingRedirect oldVersion=\”0.0.0.0-5.0.0.0\” newVersion=\”7.0.0.1\”
(ignorem as \ que são colocadas por este editor)
Mas a versão existente na pasta APL é a 5.0.0.1; resolvi colocando no app.config do projecto esta chamada, mas com newVersion=”5.0.0.1”.
Fica a informação, pode ser útil para outras situações com este erro. Boas, sim entretanto também tinha conseguido verificar o mesmo. Obrigado na mesma. Boas.
Tenho o mesmo problema.
Parece-me que só resulta ignorando essa assembly no AssembyResolve.
Ou seja, tenho um IF (assmbelyName.name=”System.Diagnostics.DiagnosticSource”) return null |
Private answer Boas. Também tive este problema. Resolvi como foi indicado pelo @carloscrespo e resultou. Ou seja, acrescentei no app.config as seguintes linhas: <dependentAssembly> <assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-7.0.0.1" newVersion="5.0.0.1" /> </dependentAssembly> Alias, em tempos tive o mesmo problema de versões com a biblioteca "Newtonsoft.Jscon" e a solução ainda se mantem a funcionar até hoje com a mesma configuração.
Marked as spam Comments correção: Newtonsoft.Json | |
Private answer Olá Manuel Eu já tive situações que tive este erro, contudo erra relacionado com o percurso das dlls. Adicione este Código antes do if e deve resolver o problema. assemblyFullName = System.IO.Path.Combine(Environment.GetEnvironmentVariable((Percurso.percurso == "E" ? "PERCURSOSGE100" : "PERCURSOSGP100"), EnvironmentVariableTarget.Machine), assemblyName.Name + ".dll"); Marked as spam |