【问题标题】:How can I tell which libraries are added when Skype installs?我如何知道安装 Skype 时添加了哪些库?
【发布时间】:2015-08-19 06:46:29
【问题描述】:

所以我们正在尝试使用应用程序部署 Chromium。我们将所有必需的文件包含到客户端计算机中,但注意到除非安装了 Skype,否则应用程序会失败。安装 Skype 解决了这个问题。除了安装它的核心应用程序之外,还有什么方法可以告诉我 Skype 正在做出哪些改变?

sans-Skype 引发的错误是:

System.IO.FileNotFoundException:无法加载文件或程序集“CefSharp.Core.dll”或其依赖项之一。指定的模块无法找到。 文件名:'CefSharp.Core.dll' 在 CefSharp.WinForms.ChromiumWebBrowser..ctor(字符串地址) 在 EncompassToChrome.ChromeControl..ctor(字符串 URL) 在 fb7f2542af19424d4f995c0e6750158283.__fb7f2542af19424d4f995c0e6750158283_Form1_Load(对象发件人,EventArgs EventArgs) 在 EllieMae.Encompass.Forms.Form.OnLoad(EventArgs e) 在 EllieMae.Encompass.Forms.Form.InvokeLoad() 在 EllieMae.EMLite.InputEngine.InputHandlerBase.executeLoadEvent()

【问题讨论】:

  • 要查找托管程序集(如 cefsharpcore.dll)的依赖 dll,请在 ilspy 中打开它。要查找非托管依赖项,请使用 dependencywalker。
  • 谢谢,dependencywalker 结合下面提到的 SysInternals Process Monitor 帮助我解决了这个问题。

标签: c# chromium


【解决方案1】:

无需深入:

错误消息显示:缺少 CefSharp.Core.dll。 看看这个文件。

对于详细的调试,您可以使用 SysInternals 'Process Monitor'。

此工具可以记录安装期间的所有文件访问或运行应用程序时尝试的文件访问。

【讨论】:

  • 这听起来正是我想要的。我现在就试试。
  • CefSharp.Core.dll 是它应该在的地方,这让我相信它与 Skype 有共享依赖关系。
【解决方案2】:

想通了。 Makielski 先生建议使用 SysInternals 'Process Monitor' 和 HugoRune 建议使用 dependencywalker 的组合是我的答案。

使用 Process Monitor 来查找 Skype 安装时创建的文件,并将这些文件与非托管依赖项列表进行交叉引用,dependencywalker 给了我。原来是:我需要的msvcp120.dll和msvcr120.dll。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    • 1970-01-01
    相关资源
    最近更新 更多