Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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
Visual studio 为什么不是';当我打开解决方案时,是否没有加载dll?_Visual Studio - Fatal编程技术网

Visual studio 为什么不是';当我打开解决方案时,是否没有加载dll?

Visual studio 为什么不是';当我打开解决方案时,是否没有加载dll?,visual-studio,Visual Studio,我有一个包含两个产品的解决方案(VisualStudio2008)。其中一个产品包含一个由同事开发的控件,该控件需要加载dll。加载解决方案时必须加载dll,以便我可以查看和使用控件。但是,我在错误窗口中收到错误,表示控件未定义。当我看到另一个安装了VS并使用此产品和dll的系统(Windows XP Pro)时,它运行良好。但是,当我尝试在我的系统(Windows7)上加载它时,我会得到错误 我在两个系统上都使用了Process Explorer来验证正在加载的dll。在一切正常的XP系统上,

我有一个包含两个产品的解决方案(VisualStudio2008)。其中一个产品包含一个由同事开发的控件,该控件需要加载dll。加载解决方案时必须加载dll,以便我可以查看和使用控件。但是,我在错误窗口中收到错误,表示控件未定义。当我看到另一个安装了VS并使用此产品和dll的系统(Windows XP Pro)时,它运行良好。但是,当我尝试在我的系统(Windows7)上加载它时,我会得到错误

我在两个系统上都使用了Process Explorer来验证正在加载的dll。在一切正常的XP系统上,我可以看到所需的dll是从C:\windows\system32加载的。在我的windows 7框中,dll位于相同的位置(c:\windows\system32)。但是,当我在Windows7框中加载解决方案时,我可以通过Process Explorer看到dll没有加载。我知道c:\windows\system32在路径中,我可以看到visual studio可执行映像已加载windows\system32中的其他DLL。为什么不加载此dll?在VS中是否有一些日志机制会在加载时(当我加载包含控件的项目时)告诉我为什么dll不会加载

这是Windows7吗?我是否应该在windows/system32中放置已开发的dll

谢谢你的帮助。
谢谢。

嗯,我唯一想到的是,如果.dll是32位的,而您正在制作一个64位的应用程序,那么它们可能不兼容。

我一直在使用的一个方便的技巧是打开fusion日志记录来处理dll加载问题。这样,加载异常将被记录到一个文件中,在该文件中,您可以看到可能缺少的内容,或者框架正在对其进行探测

要启用它,请设置以下注册表项: HKLM\Software\Microsoft\Fusion\ForceLog注册表值为1,HKLM\Software\Microsoft\Fusion\LogPath注册表值为C:\FusionLogs(此路径必须存在)

更多信息:

这是否可能是版本问题。也许你需要的版本不在那里。确保产品所需的版本与开发人员计算机上的版本相同。对照win 7机器上的版本检查XP Pro机器上的版本。对于强名称程序集(我假设您的产品有),版本是它将查找的描述的一部分。我无法从您的问题中判断这是本机DLL还是托管DLL。您的目标是.NET Framework吗?你用什么语言?链接不错。这是个好把戏。我把它放在我的后口袋里-PBTW,这在某种程度上表明了我在他的问题上对他的评论中所得到的意思。他说它没有装货。我猜它不是system32目录中的正确版本。当你说它不是“system32目录中的正确版本”时,你是什么意思?什么不是正确的版本?你指的是什么版本?这些都是32位的。不涉及64位计算机。