。Net DLL每次编译时都需要重新注册

问题描述 投票:0回答:2

我有一个暴露给COM的.Net 4.5 DLL。我通常使用具有管理特权的regasm dllname / tlb / codebase注册它,并且一切正常。

但是随后我对代码进行了一些更改;它不涉及更改方法名称,更改参数或添加/删除新方法,仅涉及更改内部逻辑。当我构建DLL并替换它时,使用DLL的程序可以调用这些方法,直到我再次注册DLL。

好像每次构建都在DLL中进行了更改,并且不再识别方法。不用说,公开的类分配有其正确的GUID,而程序集也具有其正确的GUID,并且在生成之间没有任何更改。

关于正在发生什么的任何线索?

我有一个暴露给COM的.Net 4.5 DLL。我通常以具有管理特权的regasm dllname / tlb / codebase注册它,并且一切正常。但随后我在代码中做了一些更改; ...

c# dll com
2个回答
0
投票

对于COM公开的点网dll .tlb文件,用于标识类型和功能。重新编译dll之后,但.tlb文件适用于旧版本的dll。因此,它不起作用。每次生成dll时,都需要重新创建.tlb文件。


0
投票

您是否将项目构建配置检查为“注册COM Interop”?

© www.soinside.com 2019 - 2024. All rights reserved.