我正在构建一个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