1

我正在通过 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 项目中调试引用的项目/程序集需要做什么?

4

1 回答 1

3

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

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

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

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

于 2013-06-28T13:20:37.563 回答