2

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

错误 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要键入“字符串”的参数对象表达式 (CS1503) (MonoTouch.Nimbus)

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

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

4

1 回答 1

4

这是因为您在最后记录的[FieldAttribute]上缺少一个参数,上面写着

如果您是静态链接,则没有要绑定的库,因此您需要使用 __Internal 名称:

[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; }
}

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

希望这可以帮助。

亚历克斯

于 2013-06-11T18:42:35.873 回答