[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 443
  • Last Modified:

Adding C# Web Form to VB Web Application

Is there any way to add a C# Web Form to an ASP.NET 4.0 Web Application that is written in VB.NET? I had an ASP.NET 2.0 *WEB SITE* that I recently converted to an ASP.NET 4.0 *WEB APPLICATION*. It was mostly written in VB.NET with a couple pages that had C# code behinds.

I've read the following article (the end section about mulitple languages):

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

But it does not seem to help for the following two reasons

1) When I converted my site to an application, it didn't seem to add an APP_CODE folder at all
2) I'm not looking to just write a simple class, I actually want to be able to add a WEB FORM with a C# code behind

When I try to add a new item and I select which type of item I want to add, I am only given to option to add a VISUAL BASIC web form.

I have a workaround right now. If I need a new web form with a C# code behind, I take one of my old C# web forms and just copy and paste the form and C# code behind into the project and then rename it and change the class name as well. Then i make my changes and do what I need to do. It seems to work, but I was just wondering if there was an easier way.

You might wonder why want to put C# forms in my VB app. I wrote my app in VB (not well versed in C# but I can read it). I have a programmer working for me that is much more efficient with C#. I don't really have the budget to spend weeks/months getting her up to speed with VB
0
citronsmurf
Asked:
citronsmurf
  • 3
  • 2
  • 2
  • +3
1 Solution
 
Miguel OzSoftware EngineerCommented:
You have to add this new folder to your web site (right click your website and click on add new folder, name the new folder  App_Code)
then you can put the C# files there.
0
 
citronsmurfAuthor Commented:
There are no App_code folders for an asp.net web application. That's for web sites
0
 
Miguel OzSoftware EngineerCommented:
Note: For Asp.net web app right click on your web app, click add, then new folder then name the new folder  App_Code (see attached picture)
You have to add this yourself. VS2010 will not do it for you when you created the web app. Once created add any web form or C# classes files.

Note: If you cannot create it your project may not be setup properly, just in case:  what kind of web app project is it?
Asp.net web app, Asp.net mvc2 web app.

 App_Code
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
citronsmurfAuthor Commented:
How will this help me create new web forms with a C# codebehind file?
0
 
HairbrushCommented:
mas_oz2003, you should not create an App_Code folder in a web application project.  This is because ASP.NET will ALWAYS compile all code in APP_CODE at runtime.  It would get compiled twice, once into the web application's main assembly and then again into a seperate assembly.  See http://vishaljoshi.blogspot.com/2009/07/appcode-folder-doesnt-work-with-web.html
0
 
poluxbrayzCommented:
You can convert the C# code to VB.NET with this tools:
http://codeconvert.codeplex.com/
http://msdn.microsoft.com/en-us/magazine/cc163652.aspx
http://www.codeproject.com/KB/macros/Code_convert_add-in.aspx?msg=3190160
And then you can add the VB.NET files to your web application.
0
 
Anurag AgarwalCommented:
one more thing u may need to add in your web config

<configuration>
   <system.web>
      <compilation>
        <codeSubDirectories>
           <add directoryName="VBCode"/>
           <add directoryName="CSCode"/>
         </codeSubDirectories>

      </compilation>
   </system.web>
</configuration>

Refer to

 http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/Q_26846579.html#a34984528

codeSubDirectories Element for compilation

0
 
HairbrushCommented:
anurag_onnet - that would make sense for a Web Project but the asker is building a Web Application.  There should not create an App_Code folder in a web application project (see my comment above)
0
 
citronsmurfAuthor Commented:
I think I may have found a solution!

I personally haven't tried it, but my programmers (who code in C#, working on MY vb.net web app) have done this and say it works perfectly.

Instead of opening the project for the web app, they open Visual Studio and to go FILE->OPEN WEB SITE and then open their local, development site (http://local_development_ip). This actually allows them to open the web application AS a web site, keeps the source control intact, AND lets them chose if the want a vb o c# web page.

I'll try to replicate this when I get a chance and post my results here. I just figured I'd mention it because I've seen this question asked on other forums and no one seems to get an answer, at least not for WEB APPLICATIONS.

And not to be rude, but ust a suggestion for some of you posting here. I initially mentioned in my first post that this was a web application and referred to the "app_code" folder seperation solution and explained that it did not work for me because it didn't apply to web applications. However it seems that about 3 or 4 different times people posted the exact same solution despite other people replying to them, reminding them that that solution was only for SITES, not APPLICATIONS. Please remember to read the full post before replying with a solution in the future.
0
 
Amandeep Singh BhullarCommented:
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0

Featured Post

[Webinar] Kill tickets & tabs using PowerShell

Are you tired of cycling through the same browser tabs everyday to close the same repetitive tickets? In this webinar JumpCloud will show how you can leverage RESTful APIs to build your own PowerShell modules to kill tickets & tabs using the PowerShell command Invoke-RestMethod.

  • 3
  • 2
  • 2
  • +3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now