There is nothing wrong whatsoever with building csproj files without a solution:
<MSBuild Projects="my_project.csproj" Targets="Build" />
moreover, when you build a solution with Visual Studio what it actually does internally is convert the solution file to an msbuild script that contains a line like the above to build the projects.