如何在C#visual studio中定义预处理器符号

对不起,如果我的术语有误。 我在我的代码中写了#if TEST_APP 。 现在我想定义TEST_APP。 我如何使用visual studio 2010进行设置? 这是一个Windows窗体应用程序。

如果您可以告诉我在winform项目和Web项目中设置的符号的名称,可以获得奖励

在visual studio解决方案资源管理器中,右键单击项目,然后单击“属性”。 打开构建选项卡,您将看到“条件编译符号”字段。 这是逗号分隔的列表,或以空格分隔。 常用符号还有2个复选框,DEBUG和TRACE。

对于您的Web项目,您可以将字段设置为“WEB_PROJECT”并将winforms设置为“WINFORMS_PROJECT”

在项目属性页的“构建”选项卡中,查找“条件编译符号”设置。

我不认为Web和winform应用程序默认定义了任何不同的符号。 请记住,这是为项目本身设置的,并且不会影响任何类库 – 所以我希望项目中的任何代码都能真正知道它是否在Windows应用程序中,或者不在其中。 你在考虑用它做什么?

如果您需要条件编译来动态反映构建或环境条件,请检查我如何在StackOverflow上设置条件编译变量的答案。 我将展示如何根据环境条件启用条件编译,例如C#语言版本 ,以便您可以编写如下代码:

 #if CSHARP7 ref T pi = ref rg[i], pj = ref rg[j]; var t = pi; // swap elements: managed pointers pi = pj; pj = t; #else var t = rg[i]; // swap elements: clunky rg[i] = rg[j]; rg[j] = t; #endif 

方法1:

 #define TEST_APP true #if TEST_APP == true #endif 

方法2:

 #define TEST_APP #if defined(TEST_APP) #endif 

资料来源: MSDN