Про работу с grpc и генерацию кода на базе .proto файлов. Плохая практика располагать протофайлы в одном из проектов из нашей любмой clean architecture, если проекты будут использовать одни и те же сервисы. Ошибки, с которым вы можете столкнуться, на вскидку следующие: "Protobuf generation: Duplicate symbol", "error CS0101: The namespace already contains a definition".
Монорепозитрий
Один из вариантов решения проблемы, если у вас монорепозитарий. Вынесите папку proto директорию на уровень выше, чем ваши проекты, необязательно ваш солюшен должен видеть этут папку (файл .sln/.slnx). а в проектах просто сошлитесь на эту директорию:
Не-монорепозитарий
Тут у нас два варианта.
1й вариант. Отдельная репа с прото файлами, CI/CD сборка в готовые c# классы, которые потом из локального nuget подхватываем.
2й вариант. Git Submodules. Если есть уверенность в том, что ничего не сломаете, делаем "подрепозитарий" в основном, используя расположение описанное выше и качаем протофайлы из контрактной репы.
