Do not know what may have happened here but I decided to ditch this wrapper DLL and create a new one from scratch. I did not change the C# project I was wrapping just to see which of these two projects was causing the problem. This act alone somehow allowed me to debug each of the APIs exposed in the C# project being wrapped.
Using the project debug technique suggested by Hans P, I was able to further debug my wrapper DLL. I gave a big sigh of relieve just being able to see a managed exception. Definitely a step forward.
Do not know what may have happened here but I decided to ditch this wrapper DLL and create a new one from scratch. I did not change the C# project I was wrapping just to see which of these two projects was causing the problem. This act alone somehow allowed me to debug each of the APIs exposed in the C# project being wrapped.
Using the project debug technique suggested by Hans P, I was able to further debug my wrapper DLL. I gave a big sigh of relieve just being able to see a managed exception. Definitely a step forward.It turned out that each call to a wrapped API in EphemerisViewController was throwing a manage exception that a dependency could not be found (located assembly manifest does not match loaded assembly....blah..blah.
). We all know what causes this. After cleaning assembly references thereby eliminating the aforementioned error, I could then call my managed DLL again.
A day wasted on one hand. A lot learnt on the other hand. Why the original wrapper stopped working is beyond my comprehension but I am glad to let that go.
It have have been a combination of namespace corruption and DLL loading issues but who knows. I was getting ready to ditch COM interop and dive into MFC but boy, I am glad I stuck to my guns. Compared to C#, C++ development sucks as far as I am concerned.
For example just being able to catch a general Exception in C# as apposed to the catch(...) equivalent we have for C++ is a serious benefit. All the crazy c++ syntax and head scratching routines to perform simple conversions make my head spin. Not to mention Intellisense, oh intellisense.
With a expired Virtual Assist license that reminds me everyday it is laying dormant, and a tight corporate budget, I will stick to C# for a while maybe with thoughts on investigating C++ libraries like Boost when all of this is done, just in case. But boy, I am happy to get back into .NET. Lesson learnt here for me is: with COM interop, you have to pay close attention to the details!
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.