- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我将模块链接到使用 WinSxS 部署的 mydll.dll,则模块中的 PE header 将简单地引用“mydll.dll”。 Windows 在运行时如何确定,首先应该通过 WinSxS 加载此依赖项,其次它位于哪个程序集中?
最佳答案
它是通过“激活上下文”来实现的。在我看来,除非您了解激活上下文及其管理方式,否则 WinSxS 没有任何意义。
我已经在 http://omnicognate.wordpress.com/2009/10/05/winsxs/ 上发表了一篇相当长的博客文章来解释详细信息。 .
总而言之,激活上下文是 WinSxS 在运行时使用的一种结构,用于将未版本化的对象名称(例如 DLL 名称)解析为有关如何定位它们的完整信息。 WinSxS 中“ list ”的目的是构建激活上下文。如果不了解这些激活上下文的构建方式和时间以及管理方式(它们保存在线程本地堆栈上),则无法推理通过 WinSxS 加载 DLL 所涉及的步骤,因此无法进行诊断可能出现的大多数问题。
关于winsxs - WinSxS 如何将 DLL 名称解析为 DLL 位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1521326/
如果我将模块链接到使用 WinSxS 部署的 mydll.dll,则模块中的 PE header 将简单地引用“mydll.dll”。 Windows 在运行时如何确定,首先应该通过 WinSxS 加
经过大量试验和错误(主要是由于缺乏文档和示例),我成功创建了 MSI 安装程序,将自定义 DLL 作为并行程序集安装到 WinSxS。只有一个问题:卸载会将所有文件(DLL、 list 和目录)留在
我已经安装:Microsoft Visual C++ 2008 SP1 可再发行组件包 (x86) 得到以下文件夹:x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.
我遇到了几个 VC++ DLL 的问题,我应该将其包含到我的 .NET/C# 项目中。一个 VC++ DLL 是 C++/CLI DLL,我将其用作 .NET 项目的公共(public)接口(inte
我需要添加对特定版本的 GDIPlus 的依赖。这是我想要的 GDI+ 版本: 我想确定我使用这个版本是出于特定的兼容性原因。 我已经在我的可执行文件中添加了一个程序集 list ,定义了我对 Gdi
我有一个 Win32 程序集(我的 .NET 代码上的 C++/CLI 包装器),它应该安装在 WinSxS 中,并且应该由使用 API 的客户端应用程序从该位置引用。我对如何在 WinSxS 中安装
Windows 有一个 WinSXS 目录,用于存储某些系统文件的旧版本,以备您要回滚服务包或类似文件时使用。 (这些存储为硬链接(hard link),因此那里的许多文件都指向与当前系统文件相同的磁
假设我有一个使用 MSHTML 的应用程序。安装 IE9 beta 会更新 MSHTML,这会破坏我的应用程序。我发现 IE8 dll 的副本仍然存在于 WinSxS 文件夹中,所以也许我可以以某种方
在 Windows XP 上,我有一个以 msvcp90.dll 运行的 .exe , msvcr90.dll , 和 Microsoft.VC90.CRT.manifest在我的本地应用程序目录中。
我有一个可执行文件, list 上说它取决于 Microsoft.VC90.CRT 9.0.21022.8 Microsoft.VC90.CRT 9.0.30729.1 在 Windows 7 上,这
我真的很想知道一个问题。 我在我的机器上安装了各种版本的 visual studio 2008 再分发包。现在,30729.6161 是最新的。 在这个环境下,我制作了一个简单的程序,其中嵌入了 li
我是一名优秀的程序员,十分优秀!