Csc.exe не видит другие классы?
Вы делаете вот так:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe C:\Users\user\Documents\Projects\proj\main.cs

А надо вот так:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe C:\Users\user\Documents\Projects\proj\*.cs

*.cs, где * - все файлы с расширением .cs

А вообще лучше всего сначала перейти в директорию, где лежит ваш компилятор, что бы было его удобнее использовать, это стандартная команда cd <your_path>, и выглядело бы это все примерно так:
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
csc.exe C:\Users\user\Documents\Projects\proj\*.cs

Это просто удобнее использовать.
И ознакомьтесь с cmd/powerhell/terminal хотя бы базово. Узнайте, как использовать такие команды, как:
cd ./path
ls ./path 
cp ./path ./path
mv ./path ./path
mkdir <dir_name> 
> filename.anyext
Ну так надо ВСЕ файлы компилятору скормить,
Читайте:
https://docs.microsoft.com/en-us/dotnet/csharp/lan...