To build files with dependencies you can just do this:

csc file1.cs file2.cs file3.cs

This demo illustrates that.  I built a solution with two projects:
1. a testdriver project that includes a testdriver and also includes a tested file.
2. a project for another tested file.  I gave the testdriver project a reference to this project.
This builds and runs in visual studio.

I then created a folder TestedFiles containing each of the source files, but no project or solution.
Then I compiled from the developer command prompt with:
csc testdriver.cs testedOne.cs testedTwo.cs

It successfully builds and runs. Note that there were no project or solution files in that folder.

==================================================
  This demonstrates that the compiler discovers
  dependencies and encodes into the depending 
  assembly's manifest. That lets the loader
  load everything needed and executes correctly.
==================================================

