【发布时间】:2015-02-03 17:24:00
【问题描述】:
我有一个 .NET 4.0 dll,我想在服务器端集成到 Dynamics Ax 2009。在客户端(RunOn:客户端),它适用于 32 位 dll。但是在服务器端(RunOn:server),它不起作用。
这是我的工作: (1) 我将一个 64 位 dll 的实例复制到 AOS 的 bin 文件夹中,并且 (2) 我使用 Regasm.exe 将必要的条目添加到注册表中。
我使用以下代码后:
server static void ComIntegrationTest(Args _args)
{
COM com;
;
new InteropPermission(InteropKind::ComInterop).assert();
com = new COM('{A2686EE2-8382-3D04-B908-31AF4E5AF5B5}');
CodeAccessPermission::revertAssert();
}
我收到以下错误消息: 无法创建类“{A2686EE2-8382-3D04-B908-31AF4E5AF5B5}”的 COM 对象。确保对象已在计算机“MSS2008R2-AXAOS”上正确注册。 无法创建对象“COM”
或者,如果我使用 Com 类包装器向导将 COM 对象包装在 x++ 类中,并尝试创建包装器类的实例,我会收到以下错误消息: 请求“InteropPermission”类型的权限失败。 无法创建对象“COM”。
编辑:
如果无法做到这一点,我如何将 Dynamics Ax 2009 与 .NET 4.0 集成?
无法直接引用 GAC 中的 .NET 4.0 dll,因为 Dynamics Ax 2009 仅与 .NET 3.5 或以前版本的 .NET 兼容。
【问题讨论】:
-
我很惊讶我以前没有看到过关于 AX2009 的这个问题。下面是如何制作 COM 对象的链接,但从阅读以上内容看来,您已经采取了所有正确的步骤。 blogs.microsoft.co.il/arik/2011/05/30/…
标签: axapta x++ dynamics-ax-2009