Monotouch绑定项目构建错误

本文关键字:错误 构建 项目 绑定 Monotouch | 更新日期: 2023-09-27 18:17:03

在尝试构建绑定项目时出现以下错误。信息有点神秘,我不确定是什么坏了/错了。

错误CS0117: MonoTouch.Constants' does not contain a definition for NimbusLibrary' (CS0117) (MonoTouch.Nimbus)

错误CS1502:最佳重载方法匹配"MonoTouch.ObjCRuntime.Dlfcn。Dlopen (string, int)'有一些无效的参数(CS1502) (MonoTouch.Nimbus)

错误CS1503:参数#1' cannot convert对象的表达式类型' string' (CS1503) (MonoTouch.Nimbus)

我注意到有时当我关闭并重新打开项目,然后重新构建时,错误信息不会立即出现,但不久之后,它们就会回来。

任何想法?如果你需要我的绑定项目的源代码,请告诉我。

Monotouch绑定项目构建错误

这是因为您在最后记录的[FieldAttribute]上缺少一个参数,该参数表示

如果你是静态链接,没有库可以绑定,所以你需要使用__Internal name:

[Static]
interface LonelyClass {
    [Field ("MyFieldFromALibrary", "__Internal")]
    NSString MyFieldFromALibrary { get; }
}

那么你的绑定现在看起来是这样的

[BaseType (typeof (NIRecyclableView))]
public partial interface NIPageView : NIPagingScrollViewPage 
{
    [Field ("NIPagingScrollViewUnknownNumberOfPages")]
    int NIPagingScrollViewUnknownNumberOfPages { get; }
    [Field ("NIPagingScrollViewDefaultPageMargin")]
    float NIPagingScrollViewDefaultPageMargin { get; }
}

必须是这样

[BaseType (typeof (NIRecyclableView))]
public partial interface NIPageView : NIPagingScrollViewPage 
{
    [Field ("NIPagingScrollViewUnknownNumberOfPages", "__Internal")]
    int NIPagingScrollViewUnknownNumberOfPages { get; }
    [Field ("NIPagingScrollViewDefaultPageMargin", "__Internal")]
    float NIPagingScrollViewDefaultPageMargin { get; }
}

这是因为末尾的所有静态库都将与主可执行文件合并。

希望对你有帮助。

亚历克斯