我正在尝试创建一个Xamarin Android绑定库,该库引用org.apache.xml.security.transforms,Org.Apache.Xml.Security.Algorithms
我必须添加哪些参考以确保它正常工作?
示例错误
1> BINDINGSGENERATOR:警告BG8900:输入org.apache.xml.security.transforms.Transforms:FxDG命名违规:输入名称' Transforms'匹配命名空间部分'转换'。
\ _ obj \ Debug \ generated \ src \ Org.Apache.Xml.Security.Algorithms.Implementations.IntegrityHmac.cs(150,20,150,31):警告CS0108:' IntegrityHmac.IntegrityHmacRIPEMD160.GetDHandler()& #39;隐藏继承成员' IntegrityHmac.GetDHandler()'。如果想要隐藏,请使用new关键字。
答案 0 :(得分:1)
这些不是错误,而是绑定生成器会给你一些公平的警告。
1>BINDINGSGENERATOR : warning BG8900: Type org.apache.xml.security.transforms.Transforms: FxDG naming violation: Type name 'Transforms' matches namespace part 'Transforms'.
这只是一个警告,告诉您名称Transforms
与先前命名空间org.apache.xml.security.transforms
的一部分匹配。除非这些类没有生成,否则这不是一个大问题。
\obj\Debug\generated\src\Org.Apache.Xml.Security.Algorithms.Implementations.IntegrityHmac.cs(150,20,150,31): warning CS0108: 'IntegrityHmac.IntegrityHmacRIPEMD160.GetDHandler()' hides inherited member 'IntegrityHmac.GetDHandler()'. Use the new keyword if hiding was intended.
此警告表示正在隐藏GetDHandler()
的{{1}}实施。通常这是混淆问题。
我确实有一个通用的绑定指南,一旦你知道你在寻找什么,就会涵盖大部分这些方面:
https://gist.github.com/JonDouglas/dda6d8ace7d071b0e8cb
然而,在查看了您的来源之后,似乎所有内容都编译得很好。这里有几点说明:
IntegrityHmac.IntegrityHmacRIPEMD160
。您可以在我们的文档中找到推荐的用例:https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/#Build_Actions(Build Action
未嵌入到.dll中,必须在运行时找到。因此您应该使用InputJar
)