从 Visual Studio 2019 Xamarin.iOS 连接到 Mac 的代理问题

Posted

技术标签:

【中文标题】从 Visual Studio 2019 Xamarin.iOS 连接到 Mac 的代理问题【英文标题】:Broker Problem with connect to Mac from Visual Studio 2019 Xamarin.iOS 【发布时间】:2020-07-09 00:55:01 【问题描述】:

将 mac OS 更新到 Catalina 10.15.4 和 XCode 11.4 和 VS 2019 16.5.1我无法从 VS 与 mac 配对 ,VS中出现错误: “尝试启动代理时出错...”。

日志文件中的信息:“无法安装代理。 与“192.168.233.1”建立连接... 服务器从 ConnectingState 变为 DisconnectingState 变为 192.168.233.1 (192.168.233.1)。 与 192.168.233.1 断开连接 ... 服务器从 DisconnectingState 变为 DisconnectedState 变为 192.168.233.1 (192.168.233.1)。 与“192.168.233.1”的连接已建立。 尝试启动代理时出错... 客户端 vs - 30 秒内未发送任何数据包。 向服务器发送 Ping 以维持 Keep Alive”

我认为连接到 macOS 存在问题,因为Apple 将 bash 替换为 zsh 作为 macOS Catalina 中的默认 shell

我尝试执行后续步骤来解决它: 1) 在 Mac 和 Windows 上删除 XMA 文件夹: 在 MacO 上:open "$HOME/Library/Caches/Xamarin" 胜利时:%localappdata%\Temp\Xamarin\XMA

2) 我接受了 MacOS 上的 XCode 协议:

sudo xcodebuild -license accept

3) 然后我尝试连接到 MacOS,但出现错误: "检查 SSH 配置 "192.168.233.1" 时发生意外错误。已添加具有相同密钥的项目。"

我通过删除此目录中的 hosts.key 文件来修复它:

 %LOCALAPPDATA%\Xamarin\MonoTouch

我又遇到了同样的错误:“尝试启动代理时发生错误...”

4) 我用 Mac 检查了 ping ping 192.168.233.1 - 工作,

ssh username@192.168.233.1 

这个命令给出了消息: “默认的交互式 shell 现在是 zsh。 要更新您的帐户以使用 zsh,请运行 chsh -s /bin/zsh。 更多详情,请访问https://support.apple.com/kb/HT208050。”

请提供任何建议如何解决 Broker 问题,以将 Visual Studio 与 MacOS 与 Catalina 配对。

【问题讨论】:

【参考方案1】:

我找到了解决方案:

    id_rsa.pub 复制内容,它的位置:

    %LOCALAPPDATA%\Xamarin\MonoTouch\

    将其粘贴到 mac ~/.ssh/authorized_keys 的新行中。

    将随附的 scp.zip 二进制文件下载到 Mac 上的 Download 文件夹并解压缩。

    需要temporarily disable the System Integrity Protection (SIP):

重启系统按住 Command+R (⌘+R)键同时听到启动提示音;这将引导 macOS 进入恢复模式

进入恢复模式后,从屏幕顶部的实用工具下拉菜单中打开终端窗口。在终端输入命令并执行:csrutil disable

在终端输入reboot

    Mac 将重新启动时,在终端中执行下一条命令:

    sudo mount -uw /

备份旧 SCP:

sudo cp /usr/bin/scp /usr/bin/scp.bak

替换SCP:

sudo cp ~/Downloads/scp /usr/bin/scp

立即尝试连接,它应该可以工作。

    安装后重新启用 SIP: 再次重新启动进入恢复模式(⌘+R 发出系统提示音)。 打开终端并输入:csrutil enable

    重启

【讨论】:

您可以将其标记为正确答案,这将帮助更多有相同问题的人:)。【参考方案2】:

在 Windows 电脑上删除或重命名文件夹 %LOCALAPPDATA%\Xamarin\MonoTouch\

在 mac 上删除或重命名文件夹 ~/.ssh/authorized_keys

在 Visual Studio 中删除 Mac 的连接并再次添加新连接

【讨论】:

【参考方案3】:

我正在添加 Alex 的答案,因为我还不能发表评论。

删除%LOCALAPPDATA%\Xamarin\MonoTouch\后,我还删除了%LOCALAPPDATA%\Temp\Xamarin\XMA,然后从我Mac的.ssh文件夹中删除了授权密钥。

这对我有用,我能够将它从我的 Windows 机器再次构建到我的 Mac。

【讨论】:

以上是关于从 Visual Studio 2019 Xamarin.iOS 连接到 Mac 的代理问题的主要内容,如果未能解决你的问题,请参考以下文章

无法从 Visual Studio 2019 发布到 Azure Functions

Visual Studio 2019 无法识别从 GitHub 提取的新文件

从 Visual Studio 2019 Xamarin.iOS 连接到 Mac 的代理问题

Xamarin Forms - 从 2017 年到 2019 年更新 Visual Studio 后 iOS 上的奇怪行为

共享项目选项完全从 Visual Studio 2019 中的 Xamarin.Forms 项目菜单中消失?

“找不到此可执行文件的有效配置文件”从 Visual Studio 2019 部署应用程序