Xamarin Android 无法识别绑定库自定义命名空间
Xamarin Android Binding Library Custom Namespace Not Recognized
我正在为包含单个 class 的现有 JAR 创建一个 Xamarin Android 绑定库并遵循 Xamarin binding library documentation,我能够使用以下方法成功重命名命名空间:
<attr path="/api/package[@name='com.company.blah']" name="managedName">Company.Blah</attr>
我还确认在 'obj/Debug' 文件夹中生成的 class 中更改了命名空间:
namespace Company.Blah {
// Metadata.xml XPath class reference: path="/api/package[@name='com.company.blah']/class[@name='NativeClass']"
[global::Android.Runtime.Register ("com/sprylab/android/widget/TextureVideoView", DoNotGenerateAcw=true)]
public partial class NativeClass
{
...
}
}
我面临两个问题:
- 我无法从示例 Android 项目中引用
NativeClass
。就像根本看不到名称空间一样。绑定项目构建成功,没有错误。
如果我删除包命名空间重命名设置,它也会成功构建,然后我可以在我的示例项目中引用它,但它需要我在任何使用的地方完全限定 class 名称:
private com.company.blah.NativeClass nativeClass;
我希望如果我能修复#1,那么#2 就不会再出现了。如果是这样,我也很好奇您如何防止显示完全合格的 class 名称?
进入绑定库项目的项目设置并清除程序集名称右侧的框似乎可以解决问题。直接看csproj里面,就是根命名空间
我正在为包含单个 class 的现有 JAR 创建一个 Xamarin Android 绑定库并遵循 Xamarin binding library documentation,我能够使用以下方法成功重命名命名空间:
<attr path="/api/package[@name='com.company.blah']" name="managedName">Company.Blah</attr>
我还确认在 'obj/Debug' 文件夹中生成的 class 中更改了命名空间:
namespace Company.Blah {
// Metadata.xml XPath class reference: path="/api/package[@name='com.company.blah']/class[@name='NativeClass']"
[global::Android.Runtime.Register ("com/sprylab/android/widget/TextureVideoView", DoNotGenerateAcw=true)]
public partial class NativeClass
{
...
}
}
我面临两个问题:
- 我无法从示例 Android 项目中引用
NativeClass
。就像根本看不到名称空间一样。绑定项目构建成功,没有错误。 如果我删除包命名空间重命名设置,它也会成功构建,然后我可以在我的示例项目中引用它,但它需要我在任何使用的地方完全限定 class 名称:
private com.company.blah.NativeClass nativeClass;
我希望如果我能修复#1,那么#2 就不会再出现了。如果是这样,我也很好奇您如何防止显示完全合格的 class 名称?
进入绑定库项目的项目设置并清除程序集名称右侧的框似乎可以解决问题。直接看csproj里面,就是根命名空间