从 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 上的奇怪行为