共享项目上的多个预处理器指令

本文关键字:预处理 处理器 指令 项目 共享 | 更新日期: 2023-09-27 18:00:23

我在一个单独的项目中有一个共享的数据库模型,它与另一个解决方案共享,但我想使用不同的标识映射,所以我想知道是否可以使用预处理器指令。

内部共享项目示例:

#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; }

我知道你可以向项目中添加预处理器指令,但不完全确定这是如何工作的,只用于调试。In:

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配置

SharedProject -> properties -> Conditional preprocossor symbols = setup1

共享项目设置2配置

SharedProject -> properties -> Conditional preprocossor symbols = setup2

在解决方案的配置管理器中,我只是为共享项目选择了所需的设置