none
Multi-language projects RRS feed

  • Question

  • Why should it not be possible to have multi-language projects under .Net and Visual Studio ?

    Depending on the file extension it seems as if it surely should be possible to have .Net projects which encompassed source code from different .Net languages, such as C#, VB, C++, Python etc. This would have the excellent result that one could combine effective implementations of classes, components, controls, and forms from different languages into a single assembly or .Net application.

    As long as all source code was for CLR and produced MSIL why should not multiple source files be able to successfully interact with each other in a single Visual Studio multi-langugae type product.

    Has this ever been suggested to Microsoft and, if so, what are the technical issues preventing this from happening other than simply Microsoft's possible unwillingness to pursue this goal for financial or personnel reasons ?

    As it is now one has to create a separate assembly to be able to use CLR classes from a language in which one is not writing. While the .Net assembly system is generally excellent, it is tedious to do this rather than have the ability to just include source from .Net different languages in a single project which builds an assembly or an application.

    This would also be a boon to developers who are proficient in more than one .Net language. They could write each source file in any of the languages in which they are comfortable when creating their assemblies and applications, choosing the best implementations from their knowledge of more than one language. Also it would be possible to combine classes found online from different implementations.

    A mulit-language project would really fulfill the promise of .Net as an OOP platform in which one can use their favorite .Net language(s) to write software.
    • Changed type SamAgain Monday, February 1, 2010 4:20 AM
    Sunday, January 31, 2010 3:32 AM

Answers

  • One can merge/link multiple assemblies together - e.g. ILMerge tool does that.

    The lack of VS project support is IMO based on the fact that it is not very requested feature. If you feel passionate about this, I would suggest to search MS Connect database and either vote for existing feature request, or file a new one. Number of votes will show how many people really want this feature.

    Another thing is that the IDEs (C#/VB/etc.) are today separate. The project system is separate. Creating a multi-language project would require IMO a lot of work in VS (it's just my personal opinion). That much of resources is IMO better spent somewhere else (languages improvements, debugger improvements, etc.).

    -Karel
    • Marked as answer by SamAgain Monday, February 1, 2010 4:21 AM
    Sunday, January 31, 2010 11:20 PM
    Moderator

All replies

  • One can merge/link multiple assemblies together - e.g. ILMerge tool does that.

    The lack of VS project support is IMO based on the fact that it is not very requested feature. If you feel passionate about this, I would suggest to search MS Connect database and either vote for existing feature request, or file a new one. Number of votes will show how many people really want this feature.

    Another thing is that the IDEs (C#/VB/etc.) are today separate. The project system is separate. Creating a multi-language project would require IMO a lot of work in VS (it's just my personal opinion). That much of resources is IMO better spent somewhere else (languages improvements, debugger improvements, etc.).

    -Karel
    • Marked as answer by SamAgain Monday, February 1, 2010 4:21 AM
    Sunday, January 31, 2010 11:20 PM
    Moderator
  • One can merge/link multiple assemblies together - e.g. ILMerge tool does that.

    The lack of VS project support is IMO based on the fact that it is not very requested feature. If you feel passionate about this, I would suggest to search MS Connect database and either vote for existing feature request, or file a new one. Number of votes will show how many people really want this feature.

    Another thing is that the IDEs (C#/VB/etc.) are today separate. The project system is separate. Creating a multi-language project would require IMO a lot of work in VS (it's just my personal opinion). That much of resources is IMO better spent somewhere else (languages improvements, debugger improvements, etc.).

    -Karel
    Merging multiple assemblies is a kludge <g>.

    I realize that I can suggest this to Microsoft on their bug submission page.

    The IDEs are not separate but all are part of Visual Studio. There is no such thing as VS only for C# or VS only for VB. If one gets VS, no matter what edition, except for the free editions, one gets all the languages. So if Microsoft wanted to do this they could.
    Monday, February 1, 2010 2:47 AM
  • I agree, why not be able to have your project which is written in C# and then lets say another developer is doing work in VB and the two are similar enough to be part of one "package" why not be able to have them intermingle.  I thought the beauty of .net was you are writing for the framework and not the "compiler".  Simple example a form with 4 buttons, 3 go to the C# "programs/forms" and 1 to the VB "program/form".
    Thursday, May 27, 2010 6:48 PM
  • Hi,

     

    In this article, i make a ASP.NET MVC application with resources files:

     

    http://rafaelzaccanini.wordpress.com/2011/01/01/asp-net-mvc-%E2%80%93-criando-uma-aplicacao-multi-idiomas/

     

    Rafael Zaccanini

    Saturday, January 8, 2011 3:26 PM