C# 共享项目上的多个预处理器指令
我在一个单独的项目中有一个共享数据库模型,该模型与另一个解决方案共享,但是我想使用不同的标识映射,所以我想知道是否可以使用预处理器指令 内部共享项目示例:C# 共享项目上的多个预处理器指令,c#,visual-studio,preprocessor-directive,C#,Visual Studio,Preprocessor Directive,我在一个单独的项目中有一个共享数据库模型,该模型与另一个解决方案共享,但是我想使用不同的标识映射,所以我想知道是否可以使用预处理器指令 内部共享项目示例: #if setup1 public virtual int Id { get; protected set; } #elif setup2 public virtual Guid Id { get; protected set; } #endif public virtual string Name { get;
#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; }
我知道您可以将预处理器指令添加到项目中,但不完全确定它是如何工作的,只用于调试。
在:
我是否应该这样做:
StartupProject1 -> properties -> Conditional preprocossor symbols = setup1
StartupProject2 -> properties -> Conditional preprocossor symbols = setup2
sharedProject -> properties -> Conditional preprocossor symbols = setup1,setup2
了解如何做
我最终使用了配置管理器,并创建了多个配置,基于这些配置,我只添加了唯一需要的预处理程序符号
SharedProject设置1配置
SharedProject -> properties -> Conditional preprocossor symbols = setup1
SharedProject -> properties -> Conditional preprocossor symbols = setup2
SharedProject设置2配置
SharedProject -> properties -> Conditional preprocossor symbols = setup1
SharedProject -> properties -> Conditional preprocossor symbols = setup2
在解决方案的configuration manager中,我只是为共享项目选择了所需的设置