C#. Почему нельзя обратиться к классу другого проекта, если в том проекте нет метода Main ()?
Потому, что у вас проект запускаемый, который в EXE компилируется, создайте второй проект типа Библиотека классов и будет вам счастье (она будет компилироваться в DLL).
Смотрите, я вижу две ситуации
1) Проект А это приложение то есть имеет расширение EXE. Проект Б это подключаемая библиотека то есть dll.
2) Проект А и проект Б это оба приложения то есть имеют расширение EXE. (предполагаю у вас именно так).
Чтобы ОС могла запустить приложение она должна найти в нем метод MAIN с определенной сигнатурой. Это так сказать общая точка входа, и поэтому во втором случае оба проекта должны иметь этот метод.
Давайте я вам немножко доп. инфы про .net отсыплю. Дело в том что в .NET и .exe и .dll файлы это сборки и они имеют практически идентичную структуру, различие только в том что в валидной .exe сборке обязательно есть этот самый метод MAIN.
я может сейчас взорву вам мозг, но проект приложения может использовать ссылки и на .dll и на .exe .net-сборки и я очень даже уверен что смогу зареференсить .exe сборку в проект .dll сборки. такие вот дела
обычно в солюшине (то есть в решении) есть проект некого приложения, которое общается с пользователем и есть проекты библиотек куда выносится какой-то общий код. но также есть решения где все проекты это проекты библиотек и вообще нет приложений.
вы легко можете сменить тип одного из проектов на библиотеку классов и будет вам счастье.