I have a client-side application that uses a VBA script to catch events and
perform custom functionality. I have a set of developer tools that were
written in .NET that I need to use to connect to the server and perform
functions within the events in the VBA. My solution was to create a .NET dll
with a strong name and add it to the GAC so it could be accessed from the
VBA. This works fine, except for one problem. One of the ten .NET dlls
provided as developer tools is not signed with a strong name. The company
that produces these dlls claims it will take them 3 months to accomplish this
and incorporate it into their next release. Despite my pleas that signing
the dll should take about five minutes and is non-invasive in terms of
functionality, they are not budging. So, I tried to use the ildasm.exe and
ilasm.exe to disassemble the dll and then reassemble it with a strong name.
This appeared to work fine; I added a reference to the new dll with no error
and was able to access the component and its methods from within Visual
Studio. The problem is, when I run the code, the function that uses the
component doesn't run. It doesn't throw an exception, if I move the code
into an exe and place a breakpoint in it it simply doesn't get hit. If I put
the unsigned dll into the exe the code runs fine. So apparently ildasm and
ilasm aren't doing everything correctly it seems. Anyone have any ideas here
as to what my options are? Why would idlasm and ilasm not work with this? I
am completely at a loss for a solution. Thanks for any help.
-Andy
|