.net 4.0 通过RegFree Com可视包装器初始化Net.dll时,只能从一个特定目录失败

.net 4.0 通过RegFree Com可视包装器初始化Net.dll时,只能从一个特定目录失败,.net-4.0,vb6,com-interop,side-by-side,regfreecom,.net 4.0,Vb6,Com Interop,Side By Side,Regfreecom,我经历了一些非常奇怪的事情: 我们目前有一个混合的VB6/Net应用程序。VB6代码通过Com可见网络包装调用网络代码,该包装通过RegFree Com清单激活。这非常有效,我们的客户可以有不同版本的应用程序,它们使用不同版本的网络代码,并且从来没有冲突 今天我困惑地发现,我们应用程序的新测试版本未能从C:\Program Files\OurApp目录初始化网络dll。这是无数以前的测试版本所在的目录。如果我将相同的应用程序安装到C:\Program Files\OurApp2,则该应用程序可以

我经历了一些非常奇怪的事情: 我们目前有一个混合的VB6/Net应用程序。VB6代码通过Com可见网络包装调用网络代码,该包装通过RegFree Com清单激活。这非常有效,我们的客户可以有不同版本的应用程序,它们使用不同版本的网络代码,并且从来没有冲突

今天我困惑地发现,我们应用程序的新测试版本未能从C:\Program Files\OurApp目录初始化网络dll。这是无数以前的测试版本所在的目录。如果我将相同的应用程序安装到C:\Program Files\OurApp2,则该应用程序可以完美地运行

我尝试过卸载,我尝试过删除整个C:\Program Files\OurApp文件夹,但每当我将应用程序重新安装到此特定文件夹时,网络代码都不会运行。因此,显然有些关于RegFree Com的信息存储在C:\Program Files\OurApp文件夹中

我在系统恢复后解决了这个问题

发生了什么事?如何防止我们的客户遇到此问题

很明显,这里还有一些关于RegFree Com的信息 用于修饰或说明存储了C:\Program Files\OurApp文件夹


根据我以前的经验,您的诊断将引导您找到包含库注册的注册表信息。尝试运行regedit.exe,使用Ctrl+F查找您的类,并修改/删除不正确的值。

几周前,我遇到了类似的问题。值得在注册表中搜索对DLL文件的obselete引用。这为我解决了问题。@w0051977谢谢。如果是这种情况,那么系统还原是唯一的解决方案。您可以使用注册表清理器清除任何无效引用。不确定CCleaner是否能做到这一点,但值得一看。