I was reading [this question](https://stackoverflow.com/q/2903430/1882077) when I noticed a curious comment underneath:

> 
> not sure what the question is: you can use VB.NET and C# projects in one solution (though I wouldn't recommend doing so).
> 
> 
> 

I do this quite a bit, as we have legacy VB.Net code, and new code is written in C#. Is this really not recommended? Why not?
['https://Stackoverflow.com/questions/15706564', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/969613/']
It's a matter of "use the best tools available to you for what you're building". Mixing C# and VB *within* a project isn't recommended (for obvious "it won't compile" reasons), but there's no point in continuing to write old code in VB if you feel your development team can operate faster and in a more maintainable fashion using C#.

We've been doing this at my office for the past few months (in a similar legacy code situation) and have yet to run into any major issues (beyond potential lost dev time due to context switching), and we've gained incredibly from working with a language that we all feel more comfortable with. 

More information on task switching [here](http://en.wikipedia.org/wiki/Task_switching_%28psychology%29). I really do feel like the benefits we see on a daily basis from our level of comfort with C# outweighs the cost of occasionally having to dip back into the legacy pool.
Mixing code in solutions can get real messy real quickly, its never clear what method you are calling from where, to keep it nice. Develop in separate Solutions, it will keep your projects easier to track and make sure you are not confusing languages inside projects