我正在使用Visual Studio和Mono for Android,并尝试将Java库(twitter4j-core-3.0.3.jar)绑定到我的解决方案。我按照此链接http://docs.xamarin.com/guides/android/advanced_topics/java_integration_overview/binding_a_java_library_(.jar)的说明进行操作。当我构建Library项目时,我得到了这些错误:
错误1命名空间“Twitter4j.Auth”中不存在类型或命名空间名称“OAuthToken”(您是否缺少程序集引用?)
错误4命名空间'Twitter4j.Internal.Json'中不存在类型或命名空间名称'ResponseListImpl'(您是否缺少程序集引用?)C:\ Users \ elanast \ Documents \ Visual Studio
还有3个。
你是否知道为什么会这样?我是否必须更改/添加库项目的Metadata.xml文件?
答案 0 :(得分:0)
我最近也遇到过这个问题。我不需要所有可用的Twitter4j功能来通过托管代码调用,最终还是从生成的包装器中排除了一些类和接口。
对于Twitter4j v3.0.4(仅核心.jar),这是我最终使用的Metadata.xml
文件:
<metadata>
<remove-node path="/api/package[@name='twitter4j.auth']/class[@name='OAuthToken']" />
<remove-node path="/api/package[@name='twitter4j.conf']/class[@name='ConfigurationBase']" />
<remove-node path="/api/package[@name='twitter4j.internal.json']/class[@name='EntityIndex']" />
<remove-node path="/api/package[@name='twitter4j.internal.json']/class[@name='TwitterResponseImpl']" />
<remove-node path="/api/package[@name='twitter4j.internal.json']/class[@name='ResponseListImpl']" />
<remove-node path="/api/package[@name='twitter4j']/interface[@name='ResponseList']" />
<remove-node path="/api/package[@name='twitter4j']/interface[@name='PagableResponseList']" />
</metadata>