10

当我从 Visual Studio 调试我的 Xamarin.iOS 项目时,它会在模拟器上构建、安装,并毫无问题地启动应用程序。但是在启动时,我看到一堆来自我的 C# 代码中甚至不存在的方法的调试跟踪。我还可以在删除该方法的类上设置断点,该断点与该方法曾经所在的行号相同,当调试器停止时,我将在调用堆栈中看到删除的方法。

我已经关闭并重新打开了 Visual Studio,重置了与 Mac 构建服务器的连接,清理并重建了我的解决方案,并手动删除了解决方案输出。在 Mac 上,我关闭并重新打开了模拟器,并尝试了重置内容和设置,这确实清除了应用程序。但情况仍然存在,即使在这一切之后。我还可以在 Mac 上尝试其他方法以确保删除所有缓存的旧代码副本吗?

4

7 回答 7

7

在您的项目文件夹中删除 bin 和 obj 文件夹。这对我有用,但仍然很烦人。

于 2013-07-17T20:55:03.277 回答
3

检查您的配置管理器(带有调试、发布等的下拉菜单)并检查是否正在构建所有项目。它通常会出于某种未知原因取消选中您正在使用的所有项目。

这意味着它不会重建所有项目,因此显示的是旧版本。

根据您对重建每个项目的评论,这是一个典型的标志,表明项目没有被检查为在运行时构建,以及为什么您必须手动进行。

于 2015-03-30T05:29:28.760 回答
2

在 iOS 模拟器(在 Mac 上)中,单击主菜单中的“重置内容和设置”条目。

于 2013-06-06T23:37:19.567 回答
1

好吧,这适用于我遇到同样问题的 Android 项目:

  1. 右键单击 Android 项目,然后选择“属性”。
  2. 选择“Android 选项”,然后选择“打包”。
  3. 取消选中“使用共享运行时”选项。

然后它正常工作

于 2015-02-03T15:42:22.800 回答
1

我遇到了类似的问题(尽管在 Android 模拟器上)。

什么对我不起作用

  • 重新启动计算机
  • 重新启动 Visual Studio
  • 删除 bin / obj 文件夹
  • 进入配置管理器(调试/发布/配置管理器)并勾选那里的所有内容 - 一切都被勾选
  • 在清单中更改应用程序的版本

什么对我有用

从模拟器中卸载应用程序,然后再次运行调试。这是一个Android模拟器,所以我通过点击应用程序图标并长时间停留,然后将其拖动到“卸载应用程序”来卸载。在 iOS 模拟器上应该是类似的。

于 2017-02-16T17:11:15.703 回答
0

就我而言,我必须启用所有架构:

  • Android 项目属性
  • 安卓选项
  • 部分高级选项卡
  • 选择所有架构并重建
于 2016-02-01T07:40:14.140 回答
0

iOS模拟器我仍然有这个问题。我的解决方案:

  1. 卸载 iOS 项目
  2. 重新加载 iOS 项目
  3. 像往常一样构建

当我更改模拟器设备时,我会执行上述操作。

于 2018-04-04T09:28:44.993 回答