C# COM互操作DLL卸载

C# COM互操作DLL卸载,c#,visual-studio-2010,dll,com-interop,C#,Visual Studio 2010,Dll,Com Interop,我正在运行VS2010 C语言编程# 我创建了一个COM互操作并将其安装在PC上。当我使用新函数进行更新时,客户端PC无法识别新的.dll 我通过windows卸载程序卸载了该应用程序,并通过尝试使用该类来验证该类是否不再存在,但当我重新安装更新的.dll时,电脑会继续引用初始的.dll 系统中似乎有某种东西锁定了.dll代码。我怀疑,如果我给它一个新的名字,我的问题将被绕过,但它不能解决“问题” 更新:12-20-2013 嗯,我用一个新名称重新创建了.dll。我甚至在类中重命名了“名称空间”

我正在运行VS2010 C语言编程#

我创建了一个COM互操作并将其安装在PC上。当我使用新函数进行更新时,客户端PC无法识别新的.dll

我通过windows卸载程序卸载了该应用程序,并通过尝试使用该类来验证该类是否不再存在,但当我重新安装更新的.dll时,电脑会继续引用初始的.dll

系统中似乎有某种东西锁定了.dll代码。我怀疑,如果我给它一个新的名字,我的问题将被绕过,但它不能解决“问题”

更新:12-20-2013 嗯,我用一个新名称重新创建了.dll。我甚至在类中重命名了“名称空间”,以匹配.dll文件名。此更改允许我在客户端系统上使用更新的代码。我知道这会起作用,但我想知道为什么电脑会在系统中保留最初注册的“.dll”文件信息。即使您注销“.dll”并重新注册,系统仍会保存初始注册信息。真奇怪!!!但也许不是专家。必须有人有足够的知识才能向我解释这一点。我确信他们的行为是我不理解的,或者是我没有遵守的程序/规则


仅供参考。客户端系统是XP操作系统。

您可能从未卸载过旧的系统。当您进行更改时,您得到了一个新的[Guid],因此新的[Guid]将在注册表中的其他位置注册。客户端应用程序一直试图找到它编译时所依据的应用程序。必须重新编译。如何正确卸载最后一个。。。也许我应该问这个问题。有没有一种手动的方式来做到这一点?与论坛网站不同,我们不使用“谢谢”或“感谢任何帮助”或签名。见”。