Для создания корректного shared проекта с общими типами, интерфейсами и данными в TypeScript вы можете создать отдельную папку в вашем общем репозитории для хранения этих файлов.
1. Создайте shared папку в корне вашего проекта и создайте в ней файлы с общими типами, интерфейсами и данными. Например, вы можете создать файл sharedTypes.ts и определить в нем все общие типы и интерфейсы.
2. Далее, в каждом отдельном проекте (сервер, веб-приложения на Vue.js) вы можете импортировать эти общие типы из sharedTypes.ts. Например, для импорта типов в TypeScript вы можете использовать import:
```typescript
import { CommonType } from '../../shared/sharedTypes';
```
3. Убедитесь, что пути импорта указаны верно и что общие типы корректно доступны в каждом проекте.
4. В качестве альтернативы, вы также можете использовать npm пакеты для организации общих типов и интерфейсов. Вы можете создать отдельный npm пакет с общими типами и интерфейсами и устанавливать его в каждом проекте как зависимость.
Таким образом, вы сможете организовать общий проект с общими типами, интерфейсами и данными в TypeScript, аналогично тому, как это делается в C#.