0

我的客户是一家零售商,它使用 Microsoft Dynamics RMS 作为其前端,并使用 Sage 的 Simply Accounting 2010 作为其会计包。我正在尝试自动化一些将销售数据等从 RMS 转录到 SA 的过程。

RMS 使用 COM 与插件交互,因此我的程序集是强命名的(就此而言,RMS 的程序集也是如此)。但是,SA 的程序集不是强命名的,我一直在努力尝试强命名 SA 的程序集。

所以:我现在正在使用 ildasm 和 ilasm,有那么一秒钟它似乎工作了,我需要的程序集是强命名的。主程序集 Sage_SA.SDK.dll 引用 Sage_SA.Domain.dll 和 Sage_SA.Domain.Utility.dll。当我将所有 3 个新的强命名程序集添加到我的 VS2008 解决方案并尝试编译时,Sage_SA.SDK.dll 似乎无法正确识别其他 2 个程序集。具体来说,VS2008中的错误消息说:类型'XXX'是在未引用的程序集中定义的。您必须添加对程序集“XXX”的引用。

如果我可以提供任何其他信息,请告诉我。

谢谢,

莱斯特

4

1 回答 1

0

不要试图逆流而上。分两步进行集成:1)签名的程序集相互通信;然后 2) 使用一些代理或额外的 EXE 在未签名的程序集之间进行对话。

我会创建两个可执行文件(已签名和未签名),或者一个可执行文件和一个 Windows 服务(或其他任何你觉得舒服和可行的东西)。然后让他们以某种方式(命名管道、TCPIP 等)相互交谈以传输数据。

于 2011-02-15T15:47:41.747 回答