WinIot Core v.10.0.16299.15 - RP3 - Microsoft Visual Studio 远程调试器,MSVSMON 不是 运行

WinIot Core v.10.0.16299.15 - RP3 - Microsoft Visual Studio Remote Debugger, MSVSMON not running

这不是我在 Pi 上使用 WinIoT 的第一个项目。我从第一个版本开始就一直在使用 WinIot 图像。我决定将我所有的 Pis 更新为最新的 WinIoT 映像。我的VS更新到最新版本2017 15.15.2。

当我去远程调试我的应用程序时,它在部署过程中失败并出现以下错误:

1>Error: Unable to connect to the Microsoft Visual Studio Remote Debugger named '[iphere]'.  The Visual Studio 2017 Remote Debugger (MSVSMON.EXE) does not appear to be running on the remote computer. This may be because a firewall is preventing communication to the remote computer. Please see Help for assistance on configuring remote debugging.

所以我转到 WinIot 图像,然后单击 "Start Remote debugger" 和它 returns 此文本:

Failed to start the Visual Studio Remote Debugger. The Remote Debugger needs to be copied to the device. This can be done by deploying an application to the device using Visual Studio.

所以,然后我按照列出的 link 进行操作,它基本上只是关于如何做我正在做的事情的说明……完全正确。 https://docs.microsoft.com/en-us/windows/iot-core/develop-your-app/AppDeployment

我在这上面花了几个小时,但一无所获。似乎 MS 现在有 VS 建立了它的远程调试器,但由于某种原因它不工作。

调试配置文件:

我检查过的东西:

我注意到的事情:

我觉得因为我之前能够做到这一点,在上周的这个图像版本中,一定有一些环境,但我已经用尽了时间试图弄清楚我宁愿编码而不是调试调试过程。

非常感谢任何帮助。

你不应该在现代 Windows 中禁用 ipv6。它在 XP-days 中可能是可以接受的,但现在它真的会弄乱你的系统。有关详细信息,请参阅 this post 并参阅 re-enable。 如果可能的话,从 Raspberry pi 上的新图片开始。 然后您应该清除用户配置文件中的缓存凭据,打开命令提示符并输入:

rundll32.exe keymgr.dll, KRShowKeyMgr

如下图所示,你应该用minwinpc删除所有东西,或者设备的hostname/ip地址

接下来您需要使用从 Visual Studio Marketplace

下载的模板之一创建一个新的虚拟 c# iot 项目

现在右键单击项目并选择属性

如下图输入调试信息。它应该使用未加密的协议

点击远程Windows调试器

操作需要一些时间

最终它会超时(这没关系)

检查以确保应用程序已部署

如果应用程序未部署,那么您的电脑/vs 配置还有其他问题需要修复。修复此问题的最快方法是 blow away your user profile on the local pc,但您只能在万不得已时才这样做,因为您必须 re-import 您的浏览器收藏夹、网络驱动器和 e-mail 设置。

假设虚拟解决方案的部署有效,然后使用 powershell 连接到设备并发出这些命令

cd c:\data\users\defaultaccount\appdata\local\developmentfiles\vsremotetools
netsh advfirewall firewall add rule name="Remote Debugging TCP Inbound" dir=in action=allow protocol=TCP localport=4022
netsh advfirewall firewall add rule name="Remote Debugging TCP Inbound" dir=in action=allow protocol=TCP localport=4023
netsh advfirewall firewall add rule name="Remote Debugging UDP Inbound" dir=in action=allow protocol=UDP localport=3702
(Start-Process -FilePath "xcopy" -ArgumentList "*.* c:\temp\rdbg /y /s /i /d /h" -Wait -Passthru).ExitCode
(Start-Process -FilePath "c:\temp\rdbg\arm\msvsmon.exe" -ArgumentList "/silent /nostatus /nosecuritywarn /nofirewallwarn /noclrwarn" -Wait -Passthru).ExitCode

如果你浏览到 http://minwinpc:8080/#Debug,你应该会看到 msvsmon 运行(如下所示)

这一次,将visual studio项目中的远程调试设置更改为Windows身份验证

然后点击开始远程调试