我的全球目標是創建一個基於COM的應用程序,其中客戶端部分是C++代碼和服務器部分 - C#。它看起來很簡單。無法創建C#COM對象(類未註冊)
我嘗試從MSDN使用示例: http://msdn.microsoft.com/en-us/library/aa645738(v=vs.71).aspx
我做了兩個項目(使用VisualStudio2008)和編譯的解決方案。好。
我手動註冊組件。 (ref1)
但是,當我運行一個客戶端應用程序時,CoCreateInstance返回HRESULT「Class not registred」。
在步驟(REF1)我嘗試使用:
1)regasm server.dll /tlb:server.tlb(今CPP源文件名是兼容的,原因)(從MSDN)
2)regasm server.dll /tlb:server.tlb GACUTIL /我server.dll
3)regasm /基本代碼/ TLB server.dll
在註冊表中看到我的課,但「默認值「InprocServer是mscore.dll。與其他註冊表筆記相比,它看起來像是錯誤的。 我試着手動編輯這個值 - 沒有結果。
但我很確定,這個樣本的工作原理!一旦我做了很多很多不同的動作而沒有改變GUID和...它很有效!但是我改變了GUID,嘗試註冊 - 沒有結果。我不能重複這種情況。魔術...
請幫助我!我需要一個確切的alhoritm沒有改變源(optionnal),沒有在註冊表中手動工作(在我的情況下完全不可能)。
//對不起,mb我的英文不完美。
mscore.dll的InprocServer值是正確的。 –