【问题标题】:Xamarin iOS Simulator running old codeXamarin iOS 模拟器运行旧代码
【发布时间】:2013-06-03 03:44:54
【问题描述】:

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

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

【问题讨论】:

    标签: ios ios-simulator xamarin


    【解决方案1】:

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

    【讨论】:

    • 谢谢,但我已经尝试过了...更新问题实际上是这样说的。
    • 好像Reset Contents and Settings只影响当前运行的模拟器实例,例如iPhone5,而不影响iPhone6
    • @PurpleLagoon:没错,每个模拟器都是完全独立的。看到这个:stackoverflow.com/q/15365179/183422
    • 感谢参考
    【解决方案2】:

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

    【讨论】:

    • 这与目前为止似乎对我有用的最接近——在进行更改后手动执行重建项目。我还注意到,如果你更改项目 A,而项目 B 依赖于项目 A,我必须重新构建 A,然后重新构建 B。
    • 我遇到了同样的问题,但在 Android 端,即使我尝试重建 / 清理 / 删除 bin/obj / 重新启动 xamarin studio / 重新启动我的计算机,它显然仍在运行旧代码。什么给了??
    • 我也有同样的问题,除了每次都删除bin和obj文件夹外,还有什么解决方法吗?
    • 对于Android,如果你已经关注了下面的@Adam,我经常需要从Android模拟器中手动卸载应用。
    【解决方案3】:

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

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

    然后就正常了

    【讨论】:

      【解决方案4】:

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

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

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

      【讨论】:

        【解决方案5】:

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

        • Android 项目属性
        • Andrid 选项
        • 部分高级选项卡
        • 选择所有架构并重建

        【讨论】:

          【解决方案6】:

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

          对我不起作用

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

          什么对我有用

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

          【讨论】:

            【解决方案7】:

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

            1. 卸载 iOS 项目
            2. 重新加载 iOS 项目
            3. 照常构建

            我在更换模拟器设备时会执行上述操作。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2020-03-12
              • 2015-01-03
              • 1970-01-01
              • 2014-07-16
              • 2016-12-18
              • 2011-03-17
              • 2015-06-20
              • 1970-01-01
              相关资源
              最近更新 更多