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. ==================================================