У меня CLSID, и мне нужно создать его на другом сервере (например, DCS), где моя рабочая машина (т. Е. MWS).Как вызвать объект DCOM с C#?
Теперь, если я использую следующее:
var type = Type.GetTypeFromCLSID(new Guid(CLSID),
Environment.MachineName, true);
var COMObject = Activator.CreateInstance(type);
var returnValue = COMObject.GetType().InvokeMember(methodName,
flags, null, COMObject, args, argModifiers, null, null);
Тогда я получаю "COM цель не реализует IDispatch" ошибку. Хорошо, я понимаю, что, вероятно, целевой объект COM не имеет IDispatch, поэтому он терпит неудачу.
Теперь попробовал что-то еще. Если я добавлю ссылку на эту COM-DLL в VS, тогда VS сгенерирует сборки interop, а затем все будет работать как обычное создание объекта .net, но в этом случае объект фактически генерирует в моем локальная машина (MWS pc) не на сервере, что я хочу.
Ребята любое предложение, как я могу справиться с этой ситуацией?
Заранее спасибо.
Вы разрешили это? – Mihailo
Да, экспорт в msi решил проблему. – Moim