我刚开始用Visual Studio 2015和Genymotion作为模拟器学习Xamarin(如果重要的话,还有MvvmCross)。
我不知道为什么,但经过一些运行,应用程序将无法启动到模拟器,UNION
将显示此
Select * from `message` where _id IN (
Select max(_id) from (
Select _id, sender, receiver from `message`
UNION
Select _id, receiver, sender from `message`
) GROUP BY receiver,sender
);
它会在第x次突然发生。也许在8~12左右跑。我所知道的唯一一件事是确保应用程序将启动到模拟器是通过重新启动Visual Studio,这在时间上非常昂贵。
任何人都知道原因或我该怎么做以防止它发生?
====
我从Genymotion转到Nox,不再发生了。
答案 0 :(得分:2)
今天,在寻找新问题的解决方案的过程中,将新的Android SDK添加到Visual Studio 2015后,我遇到了这个问题。这使我的调试器中断了两天,该应用程序将安装在(物理)Android设备上,但是调试日志将显示“错误启动应用程序:无法转发端口”。而且我将不得不在Android上手动启动该应用,而我无法对其进行调试(设置断点,捕获异常等)。
该问题原来是由Android Platform Tools版本29.0.4和我的Visual Studio 2015的任何组合引起的。经过大量研究,我发现可以通过恢复为旧版本的Platform Tools来解决此问题-可能我在Android SDK Manager中时偶然安装了最新版本。您不能直接在Android SDK管理器中还原-您必须手动下载旧版本,然后将其替换为C:\ Program Files(x86)\ Android \ android-sdk \ platform-tools中的常规位置。截至2019年9月,Google仍提供较旧的版本,例如,我从https://dl.google.com/android/repository/platform-tools_r28.0.0-windows.zip获得了28.0.0版。
我通过手动启动旧版本的adb服务器(在打开并尝试调试测试项目之前使用“ adb start-server”跟随的命令“ adb kill-server”)进行了测试。将其放置在平台工具的真实位置,关闭并重新打开Visual Studio,然后我的调试器再次工作!
答案 1 :(得分:0)
只需重新启动模拟器即可解决问题。
答案 2 :(得分:0)
我更新了Visual Studio 2017(在物理设备/ PC上尝试了所有其他功能之后)-错误消失了。