【问题标题】:How to debug a referenced assembly in Xamarin.Android project如何在 Xamarin.Android 项目中调试引用的程序集
【发布时间】:2013-09-26 05:17:11
【问题描述】:

我正在通过 Visual Studio 2010 测试 Xamarin.Android。

我的 Xamarin.Android VS2010 解决方案包含两个项目:Android 项目和一个为我正在制作的演示应用程序执行所有业务逻辑的项目(我将在本文中称之为 MyProject) - Android 项目参考MyProject 项目/程序集)。

当我运行应用程序时,我在 MyProject 中收到异常错误,因此我想进入 MyProject 并调试问题。

但是,当我调试时,VS2010 并没有进入 MyProject。

例如:

在我的 Android 项目中,我在异常位置有一个断点:

MyProject mp= new MyProject();
mp.DoSomething(); // Exception is thrown here, breakpoint is set here, but VS doesn't step into the MyProject code. The debugger gets stuck here and displays exception info in the Output window.

在我的 VS2010 Mono Android 项目中调试引用的项目/程序集需要做什么?

【问题讨论】:

    标签: visual-studio-2010 xamarin.android visual-studio-debugging


    【解决方案1】:

    我无法调试引用的程序集的原因是因为我引用的程序集是一个 .NET 程序集 - 一个用 C# 编写的程序集,它引用了 .NET 程序集。

    作为 Xamarin.Android 开发的新手,我假设我可以创建一个 Android 项目,然后简单地将现有的 .NET 项目引用到 Android 项目 - 事实并非如此。

    为了在 Android 项目中引用 .NET 程序集(从而调试 .NET 程序集),我必须:

    1. 在 Visual Studio(或 Xamarin Studio)中,创建一个新的 Android 类库项目
    2. 将 .NET 项目中的所有 .cs 文件复制到新创建的 Android 类库中
    3. 构建/编译 Android 类库。此时,您可能需要手动添加对默认情况下未添加到项目中的 Mono 程序集的引用。例如:我必须手动添加 Mono System.Data 程序集。
    4. 在原Android项目中,引用Android类库
    5. 完成

    要理解的重要一点(我没有)是 Xamarin 创建了与 .NET 程序集相对应的 Mono 程序集。 Mono 程序集(在我的机器上)存在于 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\ 中,而 .NET 程序集(在我的机器上)存在于“(即在 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0 目录中找到的程序集)”中。

    关于该注意事项 - 如果 Android 项目正在引用使用 .NET 程序集的程序集/项目,您将收到一条警告,指出

    "无法引用项目'MyProject'。引用的项目是目标 到不同的框架系列 (.NETFramework)"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-22
      • 1970-01-01
      • 2010-12-09
      • 1970-01-01
      • 1970-01-01
      • 2017-12-31
      相关资源
      最近更新 更多