I have a developed HR system that's developed in .net core 6, I want to integrate my app with a ZKTecoFingerPrint device, after searching I found that API feature is a paid feature and my device doesn't support server side operation's, so after some research I found this link : https://www.codeproject.com/Articles/1104538/Csharp-ZKTeco-Biometric-Device-Getting-Started and the provided desktop demo app is actually working fine.
I've built a console application in .net core to test the functionalities of the SDK / dll before integrating with my web API, when trying to connect to the device I always get this error:
COMException: Retrieving the COM class factory for component with CLSID {00853A19-BD51-419B-9269-2DABE57EB61F} failed due to the following error: 80040154 Class not registered (0x80040154 (REGDB_E_CLASSNOTREG))."
at this part :
public class ZkemClient : IZKEM
{
// Action<object, string> RaiseDeviceEvent;
// public ZkemClient(Action<object, string> RaiseDeviceEvent)
// { this.RaiseDeviceEvent = RaiseDeviceEvent; }
public ZkemClient()
{
}
CZKEM objCZKEM = new CZKEM(); // this part that throws the error
}
even when I have the Register_SDK used and all the dlls exist in the debug. when i tried to build another console app but this time using .net framework the SDK and all the functions worked perfectly fine.
I have thought about building a full console app in framework and run it inside of my web API and write the result in a JSON file then consume the JSON file in my API but I think that would consume too much time. Any Solutions how can I make this SDK work with .net core even when I don't have the source code for it?