views:

636

answers:

4

The question quite an older and often asked around, i have similar questions here but my question is a bit more specific.

Q1. Is it legal to mix C# and VB.Net code in ASP.Net Web Application? Will it work or not? If it works how it may be done? Any sample will be good.

Q2. If there are any repercussions of mixing C# and VB.Net code then please do share those as well.

I have a web project that is coded in VB.Net. I am working on one module of the project. and i want to code in C#. I cant convert the whole project to C# because i am not the only one working on the project. However, the module i intend to build , i want to have that built in C#.

I have heard that in case of web projects, if we code part in C# and part in VB.net then there are problems compiling the project to a dll. Is that true? if yes then what is the solution.

Also, if i am building a dynamic link library in .Net then can i mix C# and Vb.Net code?

+1  A: 

Check this link

Adeel
+9  A: 

From http://msdn.microsoft.com/en-us/library/t990ks23.aspx:

Multiple Programming Languages in the App_Code Folder

Because the source code in the App_Code folder is compiled into a single assembly, all the files in the App_Code folder must be in the same programming language. For example, the App_Code folder cannot include source code in both Visual Basic and C#.

However, you can configure your Web application to treat subfolders of the App_Code folder as separate compilable units. Each folder can then contain source code in a different programming language. The configuration is specified by creating a codeSubDirectories element in the compilation element of the Web.config file and adding a reference to the subfolder. The following example illustrates how you would configure subfolders named VBCode and CSCode to compile into separate assemblies:

<compilation debug="false">
    <codeSubDirectories>
        <add directoryName="VBCode" />
        <add directoryName="CSCode" />
    </codeSubDirectories>
</compilation>

The references to the VBCode and CSCode subfolders do not need to include any information about what programming language is contained in the subfolder. As with the App_Code folder itself, ASP.NET infers the compiler to use based on the files in the subfolder.

Gabe
+1. nice answer...
Mitch Wheat
A: 

I have this works fine also using C# objects from the VB objects. However I can't see the VB objects from C#.. any idea?

Coder
maybe due to Namespacing?
bbqchickenrobot