Click here to Skip to main content
15,914,452 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi,
I am trying to port a visual studio add-in from Visual Studio 6 to Visual Studio 2008. The base code is written in VC++ using COM interface.

On checking Visual Studio 2008, the interfaces in developing Add-ins are different in Visual Studio 2008. Is it possible to blindly port from Visual Studio 6 to higher version. Which of the following option to choose, Create an add-in using Visual C++/CLR or create an add-in using Visual C++/ATL? Which all options to choose from Visual Studio Add-in options dialog? How to port the existing interfaces in Visual Studio 6?

My requirement is to list the add in as a new tool bar in Visual Studio 2008.
I am a new comer in using COM and Add-in's. So it would be extremely helpful, if some one out there can help me.

Regards
Ria
Posted

1 solution

It's pretty much re-writing.

COM programming was way too archaic and inconvenient. Remember that COM was created to allow for object-oriented programming and interoperation between different object-oriented languages for a platform with not object-oriented API. Now when we have .NET, why would we keep using those crutches? :-)

I would advise you start from scratch using your old implementation just for reference purposes.

Please see:
http://msdn.microsoft.com/en-us/library/80493a3w.aspx[^],
http://www.c-sharpcorner.com/UploadFile/mgold/AddIns11292005015631AM/AddIns.aspx[^].

This CodeProject article can also be useful: Visual Studio Add-in Library[^].

[EDIT]

I'm not sure what kind of C++ porting are you asking about, but if you are talking about Add-Ins, you will have to work with .NET, which is much smoother than native development. And the language cannot be plain C++; you will need a very different thing, C++/CLI (or C#).

Please see:
http://en.wikipedia.org/wiki/C%2B%2B/CLI[^],
http://www.ecma-international.org/publications/standards/Ecma-372.htm[^],
http://www.gotw.ca/publications/C++CLIRationale.pdf[^].

If you are talking about native C++ development, I would highly recommend to learn very much improved C++11. Please see:
http://en.wikipedia.org/wiki/C%2B%2B11[^],
http://en.cppreference.com/w/[^].

This is a good tutorial: http://www.learncpp.com/[^].

Happy New Year!

—SA
 
Share this answer
 
v4
Comments
ria.sachin 1-Jan-13 20:37pm    
Hi,
Thanks a lot for taking time and helping out. I have to port from VC++ 6.0 to VC++ 9.0 as it is intended to be used only for VC++ platform. I am getting a lot of help files when porting to .NET languages like C# and VB. But not much help is there when porting VC++. Is there any articles related to porting to VC++ higher version?
Sergey Alexandrovich Kryukov 1-Jan-13 21:18pm    
Agree. You hardly can find a lot of literature on porting, specifically (who would right it and why?), but I would recommend you to learn C++/CLI and C++11. Please see the references and some explanation in my updated answer, after [EDIT].

Now, how about your original answer? Don't you think you can accept it formally already (green button)? — thanks.

—SA
ria.sachin 2-Jan-13 9:54am    
Thanks a lot for helping out and sending me the links. It is very helpful.

Thanks & Regards
Ria
Sergey Alexandrovich Kryukov 2-Jan-13 10:39am    
You are very welcome.
Good luck, call again.
—SA

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900