How can I build a .Net application relying on InDesignServer on a dev machine on Windows 10?
Dear Community,
The question in short: is there a way to build the source code of an application that relies on IDServer on a machine where IDServer is not installed?
The situation in more detail:
Our company has an InDesignServer and we are developing a webservice that uses the services of the IDServer. We are running Windows 10 and the software is developed in .Net.
When setting up a project in Visual Studio, to develop for the InDesignServer, we can add a COM type liberary reference to the InDesignServer namespace, everything works smoothly as long as we are doing this on the machine where InDesignServer is installed.
The problem is that we cannot have an IDServer installed on all of the developer machines and throughout the continuous integration pipeline, but we need the our code builds on all of these machines. Back in the old days this was doable by registering the Resources for Visual Basic.tlb file using regtlibv12, however this tool is discontinued for a long time by Microsoft. The currently accepted way of doing things is by using the tlbImp Type Liberary Importer Tlbimp.exe (Type Library Importer) | Microsoft Docs
If we run tlbImp on the aforementioned tlb file, we get an output dll with a bunch of warnings like this:
TlbImp : warning TI3011 : Type library importer has encountered an interface not derived from IUnknown: '_Application'. The interface is skipped.
TlbImp : warning TI3008 : Type 'Application' is invalid and may only be partially converted.
TlbImp : warning TI3008 : Type 'Application' is invalid and may only be partially converted.
TlbImp : Type library imported to f:\Code\InDesignServer.dll
At the end we do get an assembly that contains the proper namespace, but every type is missing from it, as they are not derived from the IUnknown. When we add the com reference to this dll, we get build errors due to the missing types.
Can someone advise on how to avoid this problem?
Best regards,
Sándor Kolumbán
