我有一个为com互操作注册的dll,因此在HKLM\Software\Classes\CLSIDmy guid\InprocServer32my version no\Codebase下,它具有注册的dll的路径。但是,我已经重新排列了我的文件夹结构,使该路径不再正确。有没有一种方法可以注销那个dll,而不是把它放回去,然后注销,然后再删除文件?
如果我不再拥有该dll,或者只有一个具有不同版本号的dll,该怎么办?
当我尝试使用CreateInstance调用实例化一个由com包装的c#动态链接库时,我得到了一个“类未注册”异常。
以下是堆栈跟踪:
'Test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Cannot find or open the PDB file.
'Test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Cannot find or open the PDB file.
'Test
我正在尝试使用regsvr32注册.dll文件(msvcr110.dll)。
但是我得到了一个错误,它说:
the module msvcr110.dll was loaded but the
DLLRegistryServer entry point is not found
我已经在System32和SysWOW64下运行了该命令,并且我已经使用Run As Administrator运行了我的命令。有人能帮帮忙吗?
提前谢谢。
目前,我正在做一个大型项目,其中有一个动态链接库(让我们称之为Common.DLL),它经常更新,以包含需要通过Unity for DI注册的新类。还有大约3个其他应用程序(网站、WCF服务等)所有引用这个DLL的都有自己的Unity配置文件,如果在Common中创建了一个新类,所有这些都需要更新才能注册这个新类型。
显然,这可能是一个痛苦的管理,我正在继承这个项目,所以我正在考虑如何让这个过程变得更容易。应该注意的是,Common.DLL当然可以放在Nuget包中,并以这种方式分发。
我或多或少地想看看是否有人知道一种好方法,我用一个新类更新Common.DLL或通用NuGet包,当其他应用
我有一块硬件,我正试图控制USB。供应商提供了一组可用于此目的的DLL文件。
我找到了,是别人做了我想做的事。在这里,他们使用win32com.client.Dispatch("BK.BasicEnv.Application.RemoteAPI")来创建RemoteAPI对象。然而,当我尝试这样做时,我会得到错误的'Class not registered'。
如果我尝试使用RemoteAPI注册包含regsvr32的DLL,就会得到错误"The module "BasicEnvRemoteAPI.dll" was loaded but
我在C#中有一个32位DLL,我试图使用regsvcs命令(来自.NET框架32位)在64位机器上注册。我得到的错误是:
FATAL: Could not find component we just installed
创建了TBL文件,没有添加注册表项,组件服务中也没有显示该组件。
如果我尝试使用.NET框架中的regsvcs命令注册64位,就会发现DLL格式无效,错误是有意义的。
可以在64位机器上注册32位组件吗?
如果我将DLL编译为64位,并使用regsvcs命令为64位注册,它可以正常工作。
我正在尝试使用Excel VBA中的COM可见.NET DLL。我已经成功地使用regasm注册了DLL,然后通过VBA Developer窗口中的Tools -> References菜单项手动添加了对它的引用。
但是,我现在尝试在不使用regasm命令的情况下注册DLL,以便Excel文件可以在任何计算机上使用,而无需注册DLL。到目前为止,这是我尝试过的:
Dim JART_Instance As Object
Sub Initialize()
Dim RefPath As String, X As Byte
Const RefName = "JART x