Несколько директив препроцессора для общего проекта

У меня есть общая модель базы данных в отдельном проекте, которая используется совместно с другим решением, однако я хочу использовать другое отображение идентификаторов, поэтому я хотел знать, возможно ли использовать директивы препроцессора.

Внутри sharedProject пример:

#if setup1
    public  virtual int Id { get; protected set; }

#elif setup2
    public  virtual Guid Id { get; protected set; }
#endif
    public virtual string Name { get; set; }

Я знаю, что вы можете добавить директивы препроцессора в проект, но не совсем уверен, как это работает, он используется только для отладки. В:

Project -> Properties -> build -> Conditional preprocessor symbols

Должен ли я сделать что-то вроде этого:

StartupProject1 -> properties -> Conditional preprocossor symbols = setup1
StartupProject2 -> properties -> Conditional preprocossor symbols = setup2
sharedProject -> properties -> Conditional preprocossor symbols = setup1,setup2

1 ответ

Решение

Узнайте, как это сделать. В итоге я воспользовался менеджером конфигурации и создал несколько конфигураций, основываясь на этих конфигурациях. Я просто добавил единственный необходимый символ препроцессора.

Конфигурация SharedProject1

SharedProject -> properties -> Conditional preprocossor symbols = setup1

Конфигурация SharedProject Setup2

SharedProject -> properties -> Conditional preprocossor symbols = setup2

А в диспетчере конфигурации решения я просто выбрал необходимую настройку для общего проекта

Другие вопросы по тегам