VS2008 not getting correct reference for recompiled assemblies

180 views Asked by At

My client is a retailer that uses Microsoft Dynamics RMS as their front end, and Simply Accounting 2010 by Sage as their accounting package. I'm in the process of trying to automate some of the processes of transcribing sales data, etc. from RMS to SA.

RMS uses COM to interact with Addins, so my assemblies are strong named (so are RMS's assemblies, for that matter). However, SA's assemblies are not strong named, and I've been banging my head against the wall for sometime trying to strong name SA's assemblies.

So: I am using ildasm and ilasm at the moment, and for a second there it seemed to work, the assemblies I need are strongnamed. The main assembly, Sage_SA.SDK.dll references Sage_SA.Domain.dll and Sage_SA.Domain.Utility.dll. When I add all 3 of these new strong named assemblies to my VS2008 solution, and try to compile, Sage_SA.SDK.dll cannot seem to recognize the other 2 assemblies correctly. Specifically, the error message in VS2008 says: The type 'XXX' is defined in an assembly that is not referenced. You must add a reference to assembly 'XXX'.

If there's anything additional information I can provide please let me know.

Thanks,

Lester

1

There are 1 answers

0
Gabriel Magana On

Stop trying to swim against the current. Do your integration in two steps: 1) The signed assemblies talk to each other; then 2) Use some proxy or additional EXE to do the talking between unsigned assemblies.

I would create either two executables (signed and unsigned), or one executable and a Windows service (or whatever else seems comfortable and workable to you). Then get them talking to each other some way (named pipes, TCPIP, etc) to transfer the data over.