Проблема здесь в том, что сервер может быть взломан, и если кто-то получит доступ, то хакер сможет получить ваши файлы .cs и, следовательно, ваш код. Невозможность открыть файлы .cs в браузере не обязательно является главной проблемой.
Вероятно, не то, что вы хотели бы случиться. Файлы .cs не нужны для сборки на сервере, поэтому лучше всего размещать на сервере только то, что нужно.
Другая вещь, которая играет здесь, это производительность. Независимо от того, что находится на сервере, ваш код компилируется. Когда вы копируете файлы необработанного кода на сервер, они компилируются во время выполнения. Когда вы публикуете / развертываете свое приложение, этот процесс предварительно компилирует ваше приложение, а затем эти DLL-файлы помещаются на сервер. В этом случае эту компиляцию не нужно выполнять во время выполнения.