You don't need them to be in the same solution, that just makes it somewhat easier to make changes etc during debug, but for releasing it's better practice to have them seperate. It will still work in the same solution.
If you're debugging, so long as your client app references your server app (which it will have to whether its 1 solution or not) then you can still debug easily, as visual studio will "see" where the original source code is on your development machine, and you can then step through any method.