Xamarin iOS模拟器运行旧代码

时间:2013-06-06 23:25:34

标签: ios ios-simulator xamarin

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

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

7 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:2)

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

答案 2 :(得分:1)

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

  1. 右键单击Android项目,然后选择"属性"。
  2. 选择" Android选项"那么"包装"。
  3. 取消选中"使用共享运行时"选项。
  4. 然后它正常工作

答案 3 :(得分:1)

检查配置管理器(使用Debug,Release等下拉列表)并检查是否正在构建所有项目。它通常会因为某种未知原因而取消选中您正在使用的所有项目。

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

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

答案 4 :(得分:1)

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

对我不起作用

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

对我有用什么

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

答案 5 :(得分:0)

在我的情况下,我必须启用所有架构:

  • Android项目属性
  • Andrid Oprions
  • Section Anvanced Tab
  • 选择所有架构并重建

答案 6 :(得分:0)

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

  1. 卸载iOS项目
  2. 重新加载iOS项目
  3. 照常建造
  4. 我在更换模拟器设备时执行上述操作。