【问题标题】:Reference C++ Runtime dll from .net dll从 .net dll 引用 C++ 运行时 dll
【发布时间】:2016-08-31 17:49:19
【问题描述】:

我有一个需要 msvcp110.dll 才能运行的 .net dll。当我在另一个应用程序中使用我的 .net dll 时,该应用程序会出现依赖错误。但是,当我将应用程序的输出路径设置为包含 msvcp110.dll 的同一文件夹时,它会运行。

有什么方法可以在我的 .net dll 中引用 msvcp110.dll,这样我的 dll 的使用者只需添加对它的引用,他们的应用程序就可以运行?

谢谢!

【问题讨论】:

  • 安装 VS C++ 运行时应该清楚这一点 - msvcp110.dll 是 C++ 运行时安装的一部分。 IIRC,110 是 VS2010 或 VS2012 版本...
  • 它没有 - 运行时 dll 必须与使用应用程序位于同一文件夹中。或者也许我只需要重新启动我的电脑......
  • 但是,当我设置应用程序的输出路径时 - 你是从 IDE 还是从资源管理器运行它?
  • 我从 IDE 运行它
  • 如果安装了正确版本的运行时并且问题来自 IDE,则可能是某种明显的问题。如果它无法从资源管理器运行,则更简单的替代方法是使用依赖项查看器(例如 Dependency Walker)来尝试诊断错误。

标签: c++ .net deployment


【解决方案1】:

为了完整起见,这似乎是答案:

Visual C++ 2010: Changes to MSVC runtime deployment (no more SxS with manifest)

我尝试将我的 dll 安装到 GAC,但无济于事 - 我的应用仍然抱怨缺少依赖项,例如 msvcr100.dll

o_O

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多