Visual Studio 远程调试 - MSVCP140.dll 丢失

Posted

技术标签:

【中文标题】Visual Studio 远程调试 - MSVCP140.dll 丢失【英文标题】:Visual Studio Remote Debugging - MSVCP140.dll is missing 【发布时间】:2017-12-10 05:24:09 【问题描述】:

我正在尝试从本地开发人员调试在远程计算机上运行的 .Net 应用程序。机器。我收到一条错误消息 MSVCP140.dll is missing

详情:

开发。机器:Visual Studio 2015,Windows 7

远程计算机:安装了 Windows Server 2012 R2、Visual Studio Remote Tools for 2015。

在远程机器上,我将远程调试器配置为“无身份验证”和端口 4020。

在开发中。机器的Visual Studio 附加到进程窗口,配置如下:

传输:远程(无身份验证)

限定符:remote_machine_name:4020

当我点击 Refresh 按钮时,它会列出远程机器的进程。在远程计算机上时,Visual Studio 远程调试器窗口显示 user_name 已连接

我在 Visual Studio 中附加到远程计算机的进程后,它就会进入调试模式,但符号仍处于卸载状态。

有趣的是,在远程机器上我收到一条错误消息:“程序无法启动,因为您的计算机缺少 MSVCP140.dll。 尝试重新安装程序来解决这个问题。”

虽然 MSVCP140.dll 文件存在于 msvmon.exe 文件的路径中。

【问题讨论】:

嘿,我遇到了同样的问题。你现在找到解决方案了吗? :) 还没有找到解决办法。如果解决了,我会发布。 很好,谢谢。我也会这样做。 ;) 【参考方案1】:

通过将 msvcp140.dll 驻留在远程主机上的目录添加到远程主机环境变量“路径”变量并在远程主机上重新启动远程调试器,我能够使 Visual Studio 2015 远程调试器工作。

    在远程主机上找到 msvcp140.dll。对我来说,有几个副本,我选择了“C:\Program Files\Microsoft Visual Studio 14.0\Remote Tools\DiagnosticsHub\”。 打开环境变量对话框。控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 环境变量... 在“系统变量”组中,选择“路径”并单击编辑... 在末尾添加分号,并在分号后粘贴 msvcp140.dll (C:\Program Files\Microsoft Visual Studio 14.0\Remote Tools\DiagnosticsHub) 的路径。 单击确定,单击确定,单击确定。 如果 Visual Studio 远程调试器正在运行(检查系统托盘图标),请退出它,然后启动 Visual Studio 远程调试器。

【讨论】:

这太棒了。像冠军一样解决了我的问题!!!很好的答案。非常感谢!【参考方案2】:

检查平台解决方案的版本(x86 或 x64)

在您的远程计算机上安装与您的平台和 VS 版本相匹配的C++ Redistributable package。如果不确定,请安装这两个软件包。您不必重新启动。

【讨论】:

以上是关于Visual Studio 远程调试 - MSVCP140.dll 丢失的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2015 远程调试(联调)

Visual Studio 2012 中的远程调试

Visual Studio 2015 远程调试不兼容平台错误

Visual Studio 2017 中的远程调试

Visual Studio 2017 远程调试

Visual Studio 中的远程调试无法连接