Fórum
Ver pergunta

Aplicações externas que estavam a funcionar corretamente na V10, deixam de funcionar na V10.10   

466 visualizações
0
0

Boa tarde,

Depois de proceder as devidas alterações para a V10.10 e estando a funcionar no meu posto, ao colocar no cliente não funcionam e apresentam as seguintes mensagens de erro no Event Viewer:

Nome do registo:Application
Origem: .NET Runtime
Data: 23/04/2021 15:01:43
ID do evento: 1026
Categoria de Tarefa:Nenhum
Nível: Erro
Palavras-chave:Clássico
Utilizador: N/D
Computador: Velozlaxia-Icar
Descrição:
Aplicação: ITGO.Import.VLX.10.10.exe
Versão do Framework: v4.0.30319
Descrição: O processo foi terminado devido a uma excepção não processada.
Informações da Excepção: System.ArgumentNullException
em System.IO.Path.Combine(System.String, System.String)
em ITGO.Import.Program.CurrentDomain_AssemblyResolve(System.Object, System.ResolveEventArgs)
em System.AppDomain.OnAssemblyResolveEvent(System.Reflection.RuntimeAssembly, System.String)

Informações da Excepção: System.IO.FileLoadException
em ITGO.Import.Form2.Iniciar(System.String)
em ITGO.Import.Form2..ctor(System.String)
em ITGO.Import.Program.Main(System.String[])

Evento Xml:
<Event xmlns=”http://schemas.microsoft.com/win/2004/08/events/event”>
<System>
<Provider Name=”.NET Runtime” />
<EventID Qualifiers=”0″>1026</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime=”2021-04-23T14:01:43.000000000Z” />
<EventRecordID>567249</EventRecordID>
<Channel>Application</Channel>
<Computer>Velozlaxia-Icar</Computer>
<Security />
</System>
<EventData>
<Data>Aplicação: ITGO.Import.VLX.10.10.exe
Versão do Framework: v4.0.30319
Descrição: O processo foi terminado devido a uma excepção não processada.
Informações da Excepção: System.ArgumentNullException
em System.IO.Path.Combine(System.String, System.String)
em ITGO.Import.Program.CurrentDomain_AssemblyResolve(System.Object, System.ResolveEventArgs)
em System.AppDomain.OnAssemblyResolveEvent(System.Reflection.RuntimeAssembly, System.String)

Informações da Excepção: System.IO.FileLoadException
em ITGO.Import.Form2.Iniciar(System.String)
em ITGO.Import.Form2..ctor(System.String)
em ITGO.Import.Program.Main(System.String[])

</Data>
</EventData>
</Event>

 

 

Nome do registo:Application
Origem: Application Error
Data: 23/04/2021 15:34:46
ID do evento: 1000
Categoria de Tarefa:(100)
Nível: Erro
Palavras-chave:Clássico
Utilizador: N/D
Computador: Velozlaxia-Icar
Descrição:
Nome da aplicação com falha: ITGO.Import.VLX.10.10.exe, versão: 2.0.0.58, carimbo de data/hora: 0x6082d005
Nome do módulo com falha: KERNELBASE.dll, versão: 6.3.9600.19724, carimbo de data/hora: 0x5ec50c3e
Código de exceção: 0xe0434352
Desvio de falha: 0x000156e8
ID do processo com falha: 0x2cb4
Hora de início da aplicação com falha: 0x01d7384dce7c35f8
Caminho da aplicação com falha: C:\00-ITGO\VLX\Config\ITGO.Import.VLX.10.10.exe
Caminho do módulo com falha: C:\Windows\SYSTEM32\KERNELBASE.dll
ID do Relatório: 0c4362b3-a441-11eb-80ee-10604beede05
Nome completo do pacote com falha:
ID da aplicação relativa ao pacote com falha:
Evento Xml:
<Event xmlns=”http://schemas.microsoft.com/win/2004/08/events/event”>
<System>
<Provider Name=”Application Error” />
<EventID Qualifiers=”0″>1000</EventID>
<Level>2</Level>
<Task>100</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime=”2021-04-23T14:34:46.000000000Z” />
<EventRecordID>567257</EventRecordID>
<Channel>Application</Channel>
<Computer>Velozlaxia-Icar</Computer>
<Security />
</System>
<EventData>
<Data>ITGO.Import.VLX.10.10.exe</Data>
<Data>2.0.0.58</Data>
<Data>6082d005</Data>
<Data>KERNELBASE.dll</Data>
<Data>6.3.9600.19724</Data>
<Data>5ec50c3e</Data>
<Data>e0434352</Data>
<Data>000156e8</Data>
<Data>2cb4</Data>
<Data>01d7384dce7c35f8</Data>
<Data>C:\00-ITGO\VLX\Config\ITGO.Import.VLX.10.10.exe</Data>
<Data>C:\Windows\SYSTEM32\KERNELBASE.dll</Data>
<Data>0c4362b3-a441-11eb-80ee-10604beede05</Data>
<Data>
</Data>
<Data>
</Data>
</EventData>
</Event>

Faça login para poder traduzir
Integração
V10
Marcado como spam
Criado há 5 anos e 1 mês amricopestana
amricopestana Iniciante
3 respostas
2
Resposta privada

Boa tarde,

Pelo tipo de excepção do erro (System.IO.FileLoadException) dá ideia que o código dentro de vosso AssemblyResolve está a tentar carregar assemblies da pasta errada, ou algo relacionado com a maneria como se está a tentar carregar as mesmas . Ou seja, em ITGO.Import.Program.CurrentDomain_AssemblyResolve, o caminho que está a ser usado deve estar errado, ou não existir nessa máquina, ou pode ser outra coisa.

É difícil responder ao certo sem ver o código aí usado, para perceber se está a usar alguma variável de ambiente; se está a tentar ler da pasta x86 mas essa instalação está em 64bits, pelo que a pasta das dlls Primavera será outra; se tem esse caminho caminho configurável de alguma forma, etc.

Faça login para poder traduzir
Marcado como spam
Criado há 5 anos e 1 mês ricardosousa
ricardosousa Ricardo Sousa Iniciante
    Comentários
    Bom dia Ricardo, Tanto na minha máquina como na do cliente tem uma instalação em 64 bits e o caminho é o mesmo. Envio aqui abaixo o codigo: using System; using System.Windows.Forms; namespace ITGO.Import { static class Program { /// /// The main entry point for the application. /// [STAThread] static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve); Application.Run(new Form2(args[0])); Application.Exit(); } /// /// Resolving Assembly /// /// Application /// Resolving Assembly Name /// Assembly static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) { string assemblyFullName; System.Reflection.AssemblyName assemblyName; assemblyName = new System.Reflection.AssemblyName(args.Name); assemblyFullName = System.IO.Path.Combine(Environment.GetEnvironmentVariable("PERCURSOSGE100", EnvironmentVariableTarget.Machine), assemblyName.Name + ".dll"); if (System.IO.File.Exists(assemblyFullName)) return System.Reflection.Assembly.LoadFile(assemblyFullName); else return null; } } }
    5 anos e 1 mês
    amricopestana
      Bom dia, a variável de ambiente PERCURSOSGE100 está criada no posto em que está a dar erro? Outra coisa, qual a plataforma do Primavera instalada nesse posto? Se for Profissional, a variável de ambiente não é PERCURSOSGE100 mas sim PERCURSOSGP100, mas de uma forma ou de outra, é necessário garantir que a mesma está criada no posto. Assim à primeira vista, sem analisar muito em pormenor, é o que se me ocorre. Por favor, quando partilhar código, tente partilhar se forma que seja mais facilmente legível, e não assim em texto como colocou, se não torna-se mais difícil ajudar. Nem que para isso tenha que anexar o ficheiro onde está o código, desde que fique bem formatado, ajuda sempre mais.
      5 anos e 1 mês
      ricardosousa
        Tenho um erro similar, quando vou inicializar a plataforma, System.IO.FileNotFoundException: 'Could not load file or assembly 'StdBE100, Version=10.0.0.0, Culture=neutral, PublicKeyToken=11cd844aca152173' or one of its dependencies. The system cannot find the file specified.'
        4 anos e 4 meses
        gersonfernandescondula
          0
          Resposta privada

          Olá!

          Estou com um problema idêntico. A aplicação funcionava em v10, mas deixou de funcionar em v10.10.

          Depois de resolver o problema da variável de ambiente, a aplicação continua a dar erro ao tentar abrir a plataforma.

          System.NullReferenceException: 'Object reference not set to an instance of an object.'

          Com recurso a um breakpoint colocado no método do evento que resolve as dependências, consigo perceber que é pedida a dependência Primavera.Platform.Runtime.XmlSerializers, que é resolvida no caminho C:Program Files (x86)PRIMAVERASG100AplPrimavera.Platform.Runtime.XmlSerializers.dll, mas não é carregada porque não existe na pasta.

          Obrigado.

           

          P.S.: Já está a ser discutido neste post https://developers.ila.cegid.com/questions/motores-v10/

          Faça login para poder traduzir
          Marcado como spam
          Criado há 4 anos e 1 mês pedroamaro
          pedroamaro Pedro Amaro Iniciante
            Comentários
            O problema de não conseguir inicializar a plataforma tinha mesmo a ver com a passagem do tipo errado de plataforma.
            4 anos e 4 semanas
            pedroamaro
              0
              Resposta privada

              Obrigado Ricardo, o problema estava mesmo na variável  do percurso PERCURSOSGE100, a linha no cliente é professional.

              Faça login para poder traduzir
              Marcado como spam
              Criado há 5 anos e 1 mês amricopestana
              amricopestana Iniciante