摘要: 在.NET Interop from X++一文中有提到X++可以引用的.NET程序集,这里就这个问题更加深入的探讨。前文中说到X++所引用的.NET程序集需要手工拷贝到Client\bin目录下,如果程序集已经发布到GAC,这步不是必须的,因为AX首先在GAC中搜索程序集,然后是server\bin或者client\bin目录。接下来还需要在AOT->Reference下添加对该程序集的引用,在“Add reference”窗口上“Browse”选择要添加的程序集文件,默认目录就是client\bin,如果你选择一个这个目录之外的.dll,AX会提示文件不在client\bin目录下, 阅读全文
posted @ 2012-09-13 15:22 断水流 阅读(1547) 评论(5) 推荐(1) 编辑
摘要: 已经讲过可以通过Proxy class从C#使用X++的类,反过来从X++使用CLR的类型当然也是可以的,这在以前版本的AXAPTA 4.0、AX 2009就开始支持了,这里把要注意的问题做一简单的归纳。X++使用CLR类的静态方法需要使用“::”而不是C#中的“.”,这和X++调用X++类的静态方法是一样的:System.String netString=System.Convert::ToString("xxx");从X++的数据类型到CLR的元类型或者从CLR的元类型到X++的数据类型,会自动进行隐式的marshal转化,下表是两者类型的对应关系:X++ typeCL 阅读全文
posted @ 2012-09-13 12:30 断水流 阅读(2013) 评论(0) 推荐(0) 编辑
摘要: 除了使用.NET Bussiness connector从C#工程访问AX的数据及方法,还可以使用Proxy Class for .NET Interop to X++功能直接将X++的类、表转化成C#的代理类,在.NET项目中使用代理类码更加直接的访问AX。相比较.NET Bussiness connector,前者使用后绑定编程模型,而Proxy class使用前绑定编程模型,在Visual studio的代码编辑窗口中可以得到相关方法的智能提示,所以在一些情况下Proxy class可以更好的替代.NET Bussiness connector。AX的Class、Table和Enum可以 阅读全文
posted @ 2012-09-13 08:35 断水流 阅读(961) 评论(0) 推荐(0) 编辑