Binding Xamarin.Mac绑定问题 我正在从事Xamarin.MAc项目。在我的项目中,我需要使用Objective C代码,所以我将绑定并在我的Xamarin项目中使用。 我正在使用Objective sharpie生成接口和枚举文件。工作正常,但我无法生成.dll文件。 这是我的.cs文件, 使用制度; 使用系统图; 使用MONAC;基础; 使用MonoMac.AppKit; 使用MonoMac.objc运行时; 使用System.Collections.Generic; 命名空间BLVirtualDrive{ //@interface BaseItemModel:NSObject [基本类型(类型化(NSObject))] 接口BaseItemModel{ //@property(非原子,强)NSString*name; [导出(“名称”,ArgumentSemantic.Retain)] 字符串名称{get;set;} //@property无符号长id; [出口(“id”)] ulong Id{get;set;} //@property无符号长parentId; [导出(“父ID”)] ulong ParentId{get;set;} } //@interface FileModel:BaseItemModel [BaseType(typeof(BaseItemModel))] 接口文件模型{ //@property unsigned long currentBufferSize; [导出(“currentBufferSize”)] ulong CurrentBufferSize{get;set;} //@property unsigned long long totalFileSize; [导出(“totalFileSize”)] ulong TotalFileSize{get;set;} //@property无符号长起始字节; [导出(“startByte”)] ulong StartByte{get;set;} //@property unsigned long-endByte; [导出(“endByte”)] ulong EndByte{get;set;} //@property(非原子,强)NSData*数据; [导出(“数据”,ArgumentSemantic.Assign)] NSData数据{get;set;} } //@interface FolderModel:BaseItemModel [BaseType(typeof(BaseItemModel))] 界面折页模型{ } //@interface ContentItemModel:NSObject [基本类型(类型化(NSObject))] 接口ContentItemModel{ //@property(非原子,强)NSString*itemName; [导出(“itemName”,ArgumentSemantic.Retain)] 字符串ItemName{get;set;} //@property unsigned long itemId; [导出(“项目ID”)] ulong ItemId{get;set;} //@property unsigned long currentBufferSize; [导出(“currentBufferSize”)] ulong CurrentBufferSize{get;set;} //@property unsigned long long totalItemSize; [导出(“totalItemSize”)] ulong TotalItemSize{get;set;} //@property enum ItemType ItemType; [导出(“项目类型”)] ItemType ItemType{get;set;} //@property无符号长起始字节; [导出(“startByte”)] ulong StartByte{get;set;} //@property unsigned long-endByte; [导出(“endByte”)] ulong EndByte{get;set;} //@property(非原子,强)NSData*数据; [导出(“数据”,ArgumentSemantic.Retain)] NSData数据{get;set;} } //@协议IVirtualDriveOperations [协议、模型] [基本类型(类型化(NSObject))] 接口IVirtualDriveOperations{ //@required-(void)mountVirtualDriveThitems:(NSArray*)项; [导出(“MountVirtualDriveThitems:”)] [摘要] void mountVirtualDriveThitems(NSObject[]项); //@required-(void)卸载虚拟驱动器; [导出(“卸载虚拟驱动器”)] [摘要] void UnMountVirtualDrive(); //@required-(id)getVirtualDriveobject; [导出(“getVirtualDriveobject”)] [摘要] IVirtualDriveOperations获取VirtualDriveObject(); //@required-(void)createFile:(FileModel*)FileModel; [导出(“创建文件:”)] [摘要] void CreateFile(FileModel FileModel); //@required-(void)重命名文件:(FileModel*)FileModel; [导出(“重命名文件:)] [摘要] void重命名文件(FileModel FileModel); //@required-(void)moveFile:(FileModel*)FileModel; [导出(“移动文件:”)] [摘要] void MoveFile(FileModel FileModel); //@required-(void)deleteFile:(FileModel*)FileModel; [导出(“删除文件:)] [摘要] 作废删除文件(FileModel FileModel); //@required-(void)下载文件:(FileModel*)FileModel; [导出(“下载文件:”)] [摘要] 作废下载文件(FileModel FileModel); //@required-(void)changeFileContents:(FileModel*)FileModel; [导出(“changeFileContents:”)] [摘要] void ChangeFileContents(FileModel FileModel); //@required-(void)createFolder:(FolderModel*)FolderModel; [导出(“createFolder:”)] [摘要] void CreateFolder(FolderModel FolderModel); //@required-(void)重命名文件夹:(FileModel*)文件夹模型; [导出(“重命名文件夹:)] [摘要] void重命名文件夹(FileModel folderModel); //@required-(void)moveFolder:(FileModel*)folderModel; [导出(“移动文件夹:”)] [摘要] void MoveFolder(FileModel folderModel); //@required-(void)deleteFolder:(FileModel*)folderModel; [导出(“删除文件夹:”)] [摘要] void DeleteFolder(FileModel folderModel); } }

Binding Xamarin.Mac绑定问题 我正在从事Xamarin.MAc项目。在我的项目中,我需要使用Objective C代码,所以我将绑定并在我的Xamarin项目中使用。 我正在使用Objective sharpie生成接口和枚举文件。工作正常,但我无法生成.dll文件。 这是我的.cs文件, 使用制度; 使用系统图; 使用MONAC;基础; 使用MonoMac.AppKit; 使用MonoMac.objc运行时; 使用System.Collections.Generic; 命名空间BLVirtualDrive{ //@interface BaseItemModel:NSObject [基本类型(类型化(NSObject))] 接口BaseItemModel{ //@property(非原子,强)NSString*name; [导出(“名称”,ArgumentSemantic.Retain)] 字符串名称{get;set;} //@property无符号长id; [出口(“id”)] ulong Id{get;set;} //@property无符号长parentId; [导出(“父ID”)] ulong ParentId{get;set;} } //@interface FileModel:BaseItemModel [BaseType(typeof(BaseItemModel))] 接口文件模型{ //@property unsigned long currentBufferSize; [导出(“currentBufferSize”)] ulong CurrentBufferSize{get;set;} //@property unsigned long long totalFileSize; [导出(“totalFileSize”)] ulong TotalFileSize{get;set;} //@property无符号长起始字节; [导出(“startByte”)] ulong StartByte{get;set;} //@property unsigned long-endByte; [导出(“endByte”)] ulong EndByte{get;set;} //@property(非原子,强)NSData*数据; [导出(“数据”,ArgumentSemantic.Assign)] NSData数据{get;set;} } //@interface FolderModel:BaseItemModel [BaseType(typeof(BaseItemModel))] 界面折页模型{ } //@interface ContentItemModel:NSObject [基本类型(类型化(NSObject))] 接口ContentItemModel{ //@property(非原子,强)NSString*itemName; [导出(“itemName”,ArgumentSemantic.Retain)] 字符串ItemName{get;set;} //@property unsigned long itemId; [导出(“项目ID”)] ulong ItemId{get;set;} //@property unsigned long currentBufferSize; [导出(“currentBufferSize”)] ulong CurrentBufferSize{get;set;} //@property unsigned long long totalItemSize; [导出(“totalItemSize”)] ulong TotalItemSize{get;set;} //@property enum ItemType ItemType; [导出(“项目类型”)] ItemType ItemType{get;set;} //@property无符号长起始字节; [导出(“startByte”)] ulong StartByte{get;set;} //@property unsigned long-endByte; [导出(“endByte”)] ulong EndByte{get;set;} //@property(非原子,强)NSData*数据; [导出(“数据”,ArgumentSemantic.Retain)] NSData数据{get;set;} } //@协议IVirtualDriveOperations [协议、模型] [基本类型(类型化(NSObject))] 接口IVirtualDriveOperations{ //@required-(void)mountVirtualDriveThitems:(NSArray*)项; [导出(“MountVirtualDriveThitems:”)] [摘要] void mountVirtualDriveThitems(NSObject[]项); //@required-(void)卸载虚拟驱动器; [导出(“卸载虚拟驱动器”)] [摘要] void UnMountVirtualDrive(); //@required-(id)getVirtualDriveobject; [导出(“getVirtualDriveobject”)] [摘要] IVirtualDriveOperations获取VirtualDriveObject(); //@required-(void)createFile:(FileModel*)FileModel; [导出(“创建文件:”)] [摘要] void CreateFile(FileModel FileModel); //@required-(void)重命名文件:(FileModel*)FileModel; [导出(“重命名文件:)] [摘要] void重命名文件(FileModel FileModel); //@required-(void)moveFile:(FileModel*)FileModel; [导出(“移动文件:”)] [摘要] void MoveFile(FileModel FileModel); //@required-(void)deleteFile:(FileModel*)FileModel; [导出(“删除文件:)] [摘要] 作废删除文件(FileModel FileModel); //@required-(void)下载文件:(FileModel*)FileModel; [导出(“下载文件:”)] [摘要] 作废下载文件(FileModel FileModel); //@required-(void)changeFileContents:(FileModel*)FileModel; [导出(“changeFileContents:”)] [摘要] void ChangeFileContents(FileModel FileModel); //@required-(void)createFolder:(FolderModel*)FolderModel; [导出(“createFolder:”)] [摘要] void CreateFolder(FolderModel FolderModel); //@required-(void)重命名文件夹:(FileModel*)文件夹模型; [导出(“重命名文件夹:)] [摘要] void重命名文件夹(FileModel folderModel); //@required-(void)moveFolder:(FileModel*)folderModel; [导出(“移动文件夹:”)] [摘要] void MoveFolder(FileModel folderModel); //@required-(void)deleteFolder:(FileModel*)folderModel; [导出(“删除文件夹:”)] [摘要] void DeleteFolder(FileModel folderModel); } },binding,xamarin.mac,Binding,Xamarin.mac,我尝试过这样的命令行工具/Library/Frameworks/Xamarin.Mac.framework/Versions/1.10。 I am Working on the Xamarin.MAc Project. In my project I need to Use Objective C Code so I going to bind and use in my Xamarin project. I am using Objective sharpie for gen

我尝试过这样的命令行工具/Library/Frameworks/Xamarin.Mac.framework/Versions/1.10。
    I am Working on the Xamarin.MAc Project. In my project I need to Use Objective C Code so I going to bind and use in my Xamarin project.

    I am using Objective sharpie for generating the Interface and enum file. that's working fine but i am not able to generate  the .dll file.

    This is my .cs files,



  using System;
    using System.Drawing;
    using MonoMac.Foundation;
    using MonoMac.AppKit;
    using MonoMac.ObjCRuntime;
    using System.Collections.Generic;


    namespace BLVirtualDrive {

        // @interface BaseItemModel : NSObject
        [BaseType (typeof (NSObject))]
        interface BaseItemModel {

            // @property (nonatomic, strong) NSString * name;
            [Export ("name", ArgumentSemantic.Retain)]
            string Name { get; set; }

            // @property unsigned long long id;
            [Export ("id")]
            ulong Id { get; set; }

            // @property unsigned long long parentId;
            [Export ("parentId")]
            ulong ParentId { get; set; }
        }

        // @interface FileModel : BaseItemModel
        [BaseType (typeof (BaseItemModel))]
        interface FileModel {

            // @property unsigned long long currentBufferSize;
            [Export ("currentBufferSize")]
            ulong CurrentBufferSize { get; set; }

            // @property unsigned long long totalFileSize;
            [Export ("totalFileSize")]
            ulong TotalFileSize { get; set; }

            // @property unsigned long long startByte;
            [Export ("startByte")]
            ulong StartByte { get; set; }

            // @property unsigned long long endByte;
            [Export ("endByte")]
            ulong EndByte { get; set; }

            // @property (nonatomic, strong) NSData * data;
            [Export ("data", ArgumentSemantic.Assign)]
            NSData Data { get; set; }
        }

        // @interface FolderModel : BaseItemModel
        [BaseType (typeof (BaseItemModel))]
        interface FolderModel {

        }

        // @interface ContentItemModel : NSObject
        [BaseType (typeof (NSObject))]
        interface ContentItemModel {

            // @property (nonatomic, strong) NSString * itemName;
            [Export ("itemName", ArgumentSemantic.Retain)]
            string ItemName { get; set; }

            // @property unsigned long long itemId;
            [Export ("itemId")]
            ulong ItemId { get; set; }

            // @property unsigned long long currentBufferSize;
            [Export ("currentBufferSize")]
            ulong CurrentBufferSize { get; set; }

            // @property unsigned long long totalItemSize;
            [Export ("totalItemSize")]
            ulong TotalItemSize { get; set; }

            // @property enum ItemType itemType;
            [Export ("itemType")]
            ItemType ItemType { get; set; }

            // @property unsigned long long startByte;
            [Export ("startByte")]
            ulong StartByte { get; set; }

            // @property unsigned long long endByte;
            [Export ("endByte")]
            ulong EndByte { get; set; }

            // @property (nonatomic, strong) NSData * data;
            [Export ("data", ArgumentSemantic.Retain)]
            NSData Data { get; set; }
        }

        // @protocol IVirtualDriveOperations <NSObject>
        [Protocol, Model]
        [BaseType (typeof (NSObject))]
        interface IVirtualDriveOperations{

            // @required -(void)mountVirtualDriveWithItems:(NSArray *)items;
            [Export ("mountVirtualDriveWithItems:")]
            [Abstract]
            void MountVirtualDriveWithItems (NSObject [] items);

            // @required -(void)unMountVirtualDrive;
            [Export ("unMountVirtualDrive")]
            [Abstract]
            void UnMountVirtualDrive ();

            // @required -(id<IVirtualDriveOperations>)getVirtualDriveobject;
            [Export ("getVirtualDriveobject")]
            [Abstract]
            IVirtualDriveOperations GetVirtualDriveobject ();

            // @required -(void)createFile:(FileModel *)fileModel;
            [Export ("createFile:")]
            [Abstract]
            void CreateFile (FileModel fileModel);

            // @required -(void)renameFile:(FileModel *)fileModel;
            [Export ("renameFile:")]
            [Abstract]
            void RenameFile (FileModel fileModel);

            // @required -(void)moveFile:(FileModel *)fileModel;
            [Export ("moveFile:")]
            [Abstract]
            void MoveFile (FileModel fileModel);

            // @required -(void)deleteFile:(FileModel *)fileModel;
            [Export ("deleteFile:")]
            [Abstract]
            void DeleteFile (FileModel fileModel);

            // @required -(void)downloadedFile:(FileModel *)fileModel;
            [Export ("downloadedFile:")]
            [Abstract]
            void DownloadedFile (FileModel fileModel);

            // @required -(void)changeFileContents:(FileModel *)fileModel;
            [Export ("changeFileContents:")]
            [Abstract]
            void ChangeFileContents (FileModel fileModel);

            // @required -(void)createFolder:(FolderModel *)folderModel;
            [Export ("createFolder:")]
            [Abstract]
            void CreateFolder (FolderModel folderModel);

            // @required -(void)renameFolder:(FileModel *)folderModel;
            [Export ("renameFolder:")]
            [Abstract]
            void RenameFolder (FileModel folderModel);

            // @required -(void)moveFolder:(FileModel *)folderModel;
            [Export ("moveFolder:")]
            [Abstract]
            void MoveFolder (FileModel folderModel);

            // @required -(void)deleteFolder:(FileModel *)folderModel;
            [Export ("deleteFolder:")]
            [Abstract]
            void DeleteFolder (FileModel folderModel);
        }
    }
using Foundation;
using AppKit;
using ObjCRuntime;
using System;

[AttributeUsage (AttributeTargets.Method)]
public sealed class MonoPInvokeCallbackAttribute : Attribute {
     public MonoPInvokeCallbackAttribute (Type t) {}
}