【发布时间】:2011-02-25 07:44:22
【问题描述】:
我有一个包含几个产品的解决方案 (Visual Studio 2008)。其中一个产品包含一个需要加载 dll 的同事开发的控件。加载解决方案时必须加载 dll,以便我可以查看和使用控件。但是,我在错误窗口中收到错误消息,指出未定义控件。当我查看另一个安装了 VS 并使用此产品和 dll 的系统(Windows XP Pro)时,它工作正常。但是,当我尝试在我的系统(Windows 7)上加载它时,我得到了错误。
我在两个系统上都使用了 Process Explorer 来验证是否正在加载有问题的 dll。在一切正常的 XP 系统上,我可以看到所需的 dll 正在从 C:\windows\system32 加载。我的 dll 在我的 Windows 7 机器上的相同位置 (c:\windows\system32)。但是,当我在 Windows 7 机器上加载解决方案时,我可以通过 Process Explorer 看到 dll 没有加载。我知道 c:\windows\system32 在路径中,我可以看到来自 windows\system32 的其他 dll 已由 Visual Studio 可执行映像加载。为什么不加载这个dll? VS 中是否有一些日志记录机制会在加载时(当我加载包含控件的项目时)告诉我为什么 dll 不会加载?
这是 Windows 7 的事情吗?我不应该将开发的 dll 放在 windows/system32 中吗?
感谢您的帮助。 谢谢。
【问题讨论】:
-
这可能是版本问题。也许您需要的版本不存在。确保产品所需的版本与您的开发机器上的版本相同。检查 XP Pro 机器上的版本与 win 7 机器上的版本。使用强命名程序集(我假设您的产品具有),版本是它所查找内容的描述的一部分。
-
我无法从您的问题中判断这是本机 DLL 还是托管 DLL。您的目标是 .NET Framework 吗?您使用什么语言?
标签: visual-studio