我有一个.NET 4.0 dll,我想在服务器端集成到Dynamics Ax 2009。在客户端(RunOn:客户端),它可以正常使用32位DLL。但是在服务器端(RunOn:服务器),它不起作用。
这是我做的: (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();
}
我收到以下错误消息: 类的COM对象' {A2686EE2-8382-3D04-B908-31AF4E5AF5B5}'无法创建。确保该对象已在计算机' 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兼容。