You would think that After 4-5 years of programming experience, after having learned many new tircvks and technonlogies, i would be less surprised by the bwilderment that overcomes me as i come to solve this interop nightmare i seem to be facing.
It started out quite nicely. My company employs a trace utility to debug our applications. this utility is actually a COM wrapper to a C++ tracing server, to which our C++ apps send traces to while running. A VB Trace client uses this COM wrapper to display the traces in an organized fasion. really nothing fancy, but works.
The only trouble we have ever had was using connecting to the COM wrapper running on a remote computer (read: DCOM). our system security policies somehow prevent the DCOM from accessing this wrapper (playing around with dcomConfig did not work of course...).
"Well." i thought to myself foolishly, "i WAS trying to learn this whole "Remoting" thing, so this would be a great way to learn!". the target was pretty simple - write a delegation layer using .NET remoting, which passes the Data reciever from the COM wrapper trace events, to a .net remoting enabled client on the client machine, which passes this data on as a COM wrapper in itself, thus allowing the VB Application to use it via the "references" dialog and so on...
so ther i went, sifting through the documentation, and event purchased Ingo Rammer's new Remoting Book.
Well, turns out that the old VB aplication that needed to use COM wrapped .NET componenets needed to have those .NEt componenets Strongly named and in the GAC. OK i can live with that. BUT - since my .NEt compoenent also referenced an older COM server (not managed), it too needed to be strongly named, and it's wrapper assembly needed to be in the GAC (or something of the sort - i passed out halfway figuring this thing..)
It should not be this difficult. really. COM interop should be the easiest thing, and i dont mean just referencing old com - that IS easy, but take the more elaborate step and if i make a compoenent strongly named - automatically make its references strongly named as well ! i shouldnt have to do this manually.
Since i'm still not using Everett - i dont know if this was implemented in that version - but i get the feeling it did not.... too bad. COM interop is going to be the most important thing in the next couple of years - people wont just reqrite zillions of lines of code. Amen.
Well. what can i say. it's an honor to blog among people i respect and read their blogs so much.
A little about me:
I'm Married to my beautiul wife named Tal. we rent a house togather a little nrth of Tel Aviv in a place called "Beney Zion". we have been married for 2 years now.She And I are the same age - 27.
1) I program in C#:
my main areas currentlyare Remoting an Winforms.
2) I'm from israel - this should make things a little more interesting for people since i will probaby be writing in accordance to things that happen in my country. i am not disconected from current events and the israeli-palestinian conflict (although i sometimes wish i were..)
3)I'm intereseted in a lot of other stuff.
namely - playing classical guitar - and laying around in front of the TV watching garbage. sometimes i just take apart my computer and reformat the life out of it, just ro reassemble it and not sleep for 2 nights. My wife LOVES that.. :)
o write about my expriences in >NET here and also other interesting stuff and links..