我正在構建一個C#UI以與COM服務(.exe)進行交互。 VS2005 COM項目輸出一個有效的typelib(TLB),它由C#項目引用。但是,VS2005 C#項目堅持要註冊該服務以構建C#項目,即使在使用OLE對象查看器進行檢查時,typelib看起來完全有效。在沒有首先註冊COM服務的情況下構建.NET COMInterop項目
如果可能的話,我們寧可不在服務器上註冊服務。此外,調試版本不能將COM對象註冊爲服務,因爲這會使調試一般,特別是啓動代碼更困難(不能使用F5 - 啓動調試)。
我應該尋找什麼才能使其發揮作用?我是否需要註冊TypeLib?如果是這樣,爲什麼COMInterop會堅持讓服務或TLB註冊才能正確構建(並且,在VS2005的Win2003中是否有這樣的命令行工具)?
如果我記得正確的話,一旦我建立了一個引用Win2003防火牆COM對象的C#web服務,但是我們僅僅通過引用TLB文件而沒有在Win2000上構建它(它沒有這樣的東西)需要註冊,所以我不明白爲什麼這應該是一個問題了。
Upvoted你的答案,但只是註冊typelib更容易。 – 2009-06-24 18:30:33