Xamarin的绑定库生成没有类信息的DLL

时间:2014-12-23 12:47:54

标签: c# android dll xamarin xamarin.android

我正在尝试将.jar添加到我的C#Xamarin项目中。我使用绑定库,并生成.dll文件。但不幸的是,我不知道为什么我的.dll只有两种物体:

  • R
  • BuildConfig

并没有像EcoGallery等类。

我使用来自EcoGallery的.jar添加到我的Xamarin项目Android绑定库。 然后构建该库,并在主项目中添加对该绑定库的引用。

现在我开始使用该库,所以我添加了我的.axml

<us.feras.ecogallery.EcoGallery
                android:id="@+id/question_gallery"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:spacing="5px" />

EcoGallery的所有编译,项目运行和片段都已成功加载。但现在我想知道如何从C#引用那个question_gallery对象:

首先,我添加到我的片段中:

using US.Feras.Ecogallery;

但是当我试图创建对象EcoGallery时,我有错误:

  

类型或命名空间名称&#39; EcoGallery&#39;找不到(是你吗?   缺少using指令或程序集引用?)

知道我做错了什么或者我应该先检查一下?在我的.dll中有像EcoGallery这样的对象,但是我无法通过我的C#代码定义这样的对象。

3 个答案:

答案 0 :(得分:2)

自动绑定工作大多都很好。 Just RESTART VS !!

我为此失去了太多时间

答案 1 :(得分:1)

我有另一件事导致同样的问题。我需要添加对某些其他引用类的引用(例如GooglePlayServices。*)。

希望这有帮助

答案 2 :(得分:0)

如果您只使用自动绑定,则可能是名称未正确转换为C#。阅读Xamarin的绑定部分中的“规范化API”部分:http://developer.xamarin.com/guides/android/advanced_topics/java_integration_overview/binding_a_java_library_%28.jar%29/

要更改名称,您应该向metadata.xml文件中添加以下内容:

<attr path="/api/package[@name='us.feras.ecogallery']" name="managedName">EcoGallery</attr>