我有一个暴露给COM的.Net 4.5 DLL。我通常使用具有管理特权的regasm dllname / tlb / codebase注册它,并且一切正常。
但是随后我对代码进行了一些更改;它不涉及更改方法名称,更改参数或添加/删除新方法,仅涉及更改内部逻辑。当我构建DLL并替换它时,使用DLL的程序可以调用这些方法,直到我再次注册DLL。
好像每次构建都在DLL中进行了更改,并且不再识别方法。不用说,公开的类分配有其正确的GUID,而程序集也具有其正确的GUID,并且在生成之间没有任何更改。
关于正在发生什么的任何线索?
我有一个暴露给COM的.Net 4.5 DLL。我通常以具有管理特权的regasm dllname / tlb / codebase注册它,并且一切正常。但随后我在代码中做了一些更改; ...
对于COM公开的点网dll .tlb文件,用于标识类型和功能。重新编译dll之后,但.tlb文件适用于旧版本的dll。因此,它不起作用。每次生成dll时,都需要重新创建.tlb文件。
您是否将项目构建配置检查为“注册COM Interop”?