0

我通过Visual Studio 2010中如何调试Xamarin.Android项目引用的程序集

我Xamarin.Android VS2010解决方案包含两个项目测试出Xamarin.Android: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单调试引用的项目/组件Android项目?

回答

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程序集的引用。例如:我不得不手动添加Mono System.Data组件。
  4. 在原生Android项目,参考了Android类库
  5. 完成

重要的是要了解(我没有)是Xamarin创造了对应于.NET程序集单集。 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) “

相关问题