是否可以从另一个项目中引用条件编译符号?

时间:2013-10-29 16:57:57

标签: .net visual-studio visual-studio-2012 build conditional-compilation

在我的解决方案中,我有两个C#项目:

  • “父”项目定义 1 以下条件编译符号:X
  • “child”项目引用父项目。

有没有办法在项目中使用X(即#if X ... #endif)?


1 项目属性/构建/条件编译符号。

1 个答案:

答案 0 :(得分:0)

不,不是直接的,但有一个相当简单的解决方法:在您的父项目中,声明一个静态方法:

public static bool Xdefined()
{
#if X
    return true;
#else
    return false;
#endif
}

当然,这将进行运行时评估,您将无法有条件地排除代码的大部分内容,但在许多情况下它可能有所帮助。否则,你还必须为孩子设置X(并且最好设置一个解决方案配置,其中所有项目都设置了一个而没有设置。)