Fórum
Ver pergunta

Integração Primavera ERPV9 com python   

49 visualizações
0
0

Instalei a livraria python.net (pythonnet · PyPI) para o python 3.7 e, com o fim de poder fazer scripts para o Primavera, estou a fazer um programa hello world.

 

Assim fiz:

import sys
import clr

sys.path+=["C:\\Program Files (x86)\\PRIMAVERA\\SG900\\Apl\\"] # enfim, o path do Primavera

clr.AddReference("Interop.ErpBS900")

mas obtive o erro:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
System.BadImageFormatException: Não foi possível carregar o ficheiro ou assemblagem 'file:///C:\Program Files (x86)\PRIMAVERA\SG900\Apl\Interop.ErpBS900.dll' ou uma das respectivas dependências. Foi efetuada uma tentativa de carregar um programa com um formato incorreto.
Nome de ficheiro: 'file:///C:\Program Files (x86)\PRIMAVERA\SG900\Apl\Interop.ErpBS900.dll'
   em System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   em System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   em System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
   em System.Reflection.Assembly.LoadFrom(String assemblyFile)
   em Python.Runtime.AssemblyManager.LoadAssemblyPath(String name)
   em Python.Runtime.CLRModule.AddReference(String name)

AVI: O registo do enlace de assemblagem está DESACTIVADO.
Para activar o registo de falhas de enlace, defina o valor de registo [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) como 1.
Nota: Existe algum tipo de penalização no desempenho associado ao registo de falhas de enlace de assemblagem.
Para desactivar esta funcionalidade, remova o valor de registo [HKLM\Software\Microsoft\Fusion!EnableLog].

O que é que se passa para isto não funcionar. Vi neste mesmo forum uma questão sobre um assunto parecido, em que o ponto de partida era mais longe do que o meu…

Faça login para poder traduzir
Integração
Marcado como spam
Criado há 5 anos e 3 meses joodias
joodias Iniciante
Comentários
Será porque tenho uma máquina de 64 bits e o meu Primavera é para 32 bits? Estas livrarias também não funcionam no Excel (https://developers.ila.cegid.com/questions/erro-classe-nao-registada-excel-2013-e-v9/)...
5 anos e 3 semanas
joodias