I am writing a python shell in a Microsoft.NET Connector.net assembly.
This is my code:
"""Implements wrapper for axapta bussiness connector.""" import pathlib from msl.loadlib import LoadLibrary import clr DLL_PATH = pathlib.Path(__file__).parent / 'Microsoft.Dynamics.BusinessConnectorNet.dll' def test_msl_connector(): """Get Axapta object via msl-loadlib package.""" connectorLL = LoadLibrary(DLL_PATH, 'net') Axapta = getattr(connectorLL.lib, 'Microsoft.Dynamics.BusinessConnectorNet').Axapta return Axapta def test_pure_pythonnet_connector(): """Get Axapta object via pythonnet package.""" clr.AddReference(str(DLL_PATH)) from Microsoft.Dynamics.BusinessConnectorNet import Axapta return Axapta
These are my errors when starting pytest:
============================= test session starts ============================= platform win32 -- Python 3.6.2, pytest-3.4.0, py-1.5.2, pluggy-0.6.0 rootdir: C:\Users\AZ\Desktop\test_bom-mcs, inifile: collected 2 items test_main.py FF [100%] ================================== FAILURES =================================== _____________________________ test_msl_connector ______________________________ def test_msl_connector(): """Get Axapta object via msl-loadlib package.""" > connectorLL = LoadLibrary(DLL_PATH, 'net') test_main.py:12: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'LoadLibrary' object has no attribute '_lib'") raised in repr()] LoadLibrary object at 0 x4152c18> path = WindowsPath('C:/Users/AZ/Desktop/test_bom-mcs/Microsoft.Dynamics.BusinessConnectorNet.dll') libtype = 'net' def __init__(self, path, libtype='cdll'): _path = path
.net decompiler shows: 
PS A stackoverflow grader asks me to add more details :) What else is obj = clr.AddRefrence , and I see the Microsoft attribute in obj . But no Dynamics , etc.
The repository for this example is here https://gitlab.com/remak_team/open-source/MicrosoftDynamicsConnector_python_wrapper/tree/master
source share