【问题标题】:Xamarin Android Binding referencing Org.Apache.Xml.Security.AlgorithmsXamarin Android 绑定引用 Org.Apache.Xml.Security.Algorithms
【发布时间】:2016-09-28 10:53:11
【问题描述】:

我正在尝试创建一个引用 org.apache.xml.security.transforms 、 Org.Apache.Xml.Security.Algorithms 的 Xamarin Android 绑定库

我必须添加哪个参考以确保它工作正常?

示例错误

1>BINDINGSGENERATOR:警告 BG8900:类型 org.apache.xml.security.transforms.Transforms:FxDG 命名违规:类型名称“Transforms”与命名空间部分“Transforms”匹配。

\obj\Debug\generated\src\Org.Apache.Xml.Security.Algorithms.Implementations.IntegrityHmac.cs(150,20,150,31): 警告 CS0108: 'IntegrityHmac.IntegrityHmacRIPEMD160.GetDHandler()' 隐藏继承的成员'IntegrityHmac.GetDHandler()'。如果要隐藏,请使用 new 关键字。

【问题讨论】:

  • 请将 MVCE(stackoverflow.com/help/mcve) 以及有关此绑定的任何进一步信息附加到帖子中,例如库的位置、要求页面以及您可能拥有的与该问题有关的任何其他信息.
  • 上传了..谢谢指出
  • 这些似乎只是警告。绑定编译得很好。有没有你注意到的缺课?如果您愿意,可以通过Metadata.xml 更改此类型的名称:gist.github.com/JonDouglas/dda6d8ace7d071b0e8cb
  • 你能说得更具体点吗? CLServices 正在这里生成:DotPeek Example
  • 我没有更改任何代码,只是运行了您的代码。确保您的 JDK 是 1.8 并且您没有更改编译目标。最后把jar改成EmbeddedJar而不是InputJar

标签: xamarin xamarin.android xamarin-binding


【解决方案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.

此警告表示 IntegrityHmac.IntegrityHmacRIPEMD160GetDHandler() 实现被隐藏。通常这是一个混淆问题。

我确实有一个通用的装订指南,一旦你知道你在寻找什么,它就会涵盖大部分这些方面:

https://gist.github.com/JonDouglas/dda6d8ace7d071b0e8cb

但是,在查看您的源代码之后,似乎一切都编译得很好。这里有几点说明:

  1. 确保使用正确的 JDK 进行编译。我在测试您的时使用了 JDK 1.8,但您绑定到的 SDK 的文档可能使用不同的文档。
  2. 确保为您的 JAR 使用正确的 Build Action。您可以在我们的文档中找到推荐的用例:https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/#Build_ActionsInputJar 不会嵌入到 .dll 中,必须在运行时找到。因此您应该使用 EmbeddedJar

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-21
    • 1970-01-01
    • 2018-06-27
    • 1970-01-01
    相关资源
    最近更新 更多