.Net сборку можно зарегистрировать в системе как COM объект. Для этого надо в настройках, в сведениях о сборке проставить идентификатор GUID(делал с помощью GUIDgen) и сделать её видимой для COM.
После этого сборку надо зарегистрировать в системе(regasm). Она становится доступной по GUID из кода аксапты.
Выше и есть .net библиотека которая используется как COM.
X++:
COM service = new COM("4E4CC63D-84CB-4c7a-AA97-85126917E2DA");
Только в самом коде библиотеки несколько наворотов надо делать - реализовать интерфейс класса который собственно в сборке работает.
Например:
X++:
namespace test
{
[Guid("C70456F3-D4F7-431b-9205-A8B4C2743BA6")]
public interface IMyClass
{
[DispId(1)]
string test_message();
}
// Events
[Guid("BD5E8C93-E078-4732-B841-2DD415C470A8"),
InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface IMyEvents
{
}
[Guid("4E4CC63D-84CB-4c7a-AA97-85126917E2DA"),
ClassInterface(ClassInterfaceType.None),
ComSourceInterfaces(typeof(IMyEvents))]
public class MyClass : IMyClass
{
public MyClass()
{
}
public string test_message()
{
return "ОК!";
}
}