Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在.NET项目中找不到DLL_.net_Visual Studio 2005_Setup Project - Fatal编程技术网

在.NET项目中找不到DLL

在.NET项目中找不到DLL,.net,visual-studio-2005,setup-project,.net,Visual Studio 2005,Setup Project,我有一个项目,它使用了一些第三方DLL,我正在进行部署的安装项目。在VisualStudio2005中运行(调试)时,程序运行良好,但在“安装”时不会运行 DLL被正确复制到应用程序文件夹。我的理解是,DLL没有被安装程序注册。“由于以下错误,检索CLSID{GUID}组件的COM类工厂失败:80040154” 在安装项目中,每个DLL程序集都将“Register”属性设置为“vsdraCOM”,我认为这应该触发注册 编辑:看起来它们和我的应用程序一样都是.NET程序集,注册不应该成为问题。标题

我有一个项目,它使用了一些第三方DLL,我正在进行部署的安装项目。在VisualStudio2005中运行(调试)时,程序运行良好,但在“安装”时不会运行

DLL被正确复制到应用程序文件夹。我的理解是,DLL没有被安装程序注册。“由于以下错误,检索CLSID{GUID}组件的COM类工厂失败:80040154”

在安装项目中,每个DLL程序集都将“Register”属性设置为“vsdraCOM”,我认为这应该触发注册

编辑:看起来它们和我的应用程序一样都是.NET程序集,注册不应该成为问题。标题更改以反映这一点

这看起来应该是非常基本的,但我不知道我应该做什么?

使用Dependency Walker()检查DLL可能正在尝试加载的其他内容


然后尝试在HKCR\CLSID下的注册表中搜索您的GUID,其中InprocServer32应包含成功注册DLL的路径。

如果这些是自注册的普通COM对象(不是.NET程序集)(即,您可以使用regsvr32注册它们),则您需要
vsdracomselreg
而不是
vsdraCOM
vsdraCOM
用于为COM互操作注册.NET程序集


是的,这一点都不直观。

正在使用的DLL是在一个SDK包中提供的,其中包含供应商提供的文档、代码示例等,并安装在一个安装程序中。我有移动到新计算机时传输的所有松散文件,但没有发现我实际上没有在新计算机上运行安装程序


安装SDK必须执行任何需要的注册操作-我的应用程序现在可以正常运行。我可以通过运行两个安装程序在目标计算机上进行安装,这是可以接受的。

由于依赖关系,我认为这些是.NET程序集,并且它们无法向regsrv32注册。看起来它们是.NET程序集。根据Dependency Walker,每个都只依赖于MSCOREE.DLL,它似乎是.NET运行时(?)。有趣的是,埋在纸牌屋里的MSJAVA.DLL似乎不见了。VisualStudio还显示了每一个都依赖于.NET Framework,但也显示了另一个对另一个的依赖性(两者都包括在内)。最后一个未显示在Dependency Walker中。最后,我在注册表中找不到GUID。啊,我在深入研究缺少的MSJAVA.DLL问题,根据Dependency Walker常见问题解答,它是一个可选组件,缺少也没关系。。。