【问题标题】:VS2008 not getting correct reference for recompiled assembliesVS2008 没有为重新编译的程序集获得正确的参考
【发布时间】:2011-02-15 15:17:47
【问题描述】:

我的客户是一家零售商,它使用 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”的引用。

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

谢谢,

莱斯特

【问题讨论】:

    标签: c# com strongname rms


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-01-19
      • 2015-02-13
      • 1970-01-01
      • 2016-06-13
      • 2013-06-20
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多