如何在C#visual Studio中定义预处理器符号
对不起,如果我的术语是错误的。我在代码中编写了如何在C#visual Studio中定义预处理器符号,c#,visual-studio,visual-studio-2010,C#,Visual Studio,Visual Studio 2010,对不起,如果我的术语是错误的。我在代码中编写了#if TEST_APP。现在我想定义TEST_应用程序。如何使用visual Studio 2010进行设置?这是一个windows窗体应用程序 如果您可以告诉我在winform项目和web项目中设置的符号的名称,请在项目属性页的“生成”选项卡中查找“条件编译符号”设置 我认为默认情况下,web和winform应用程序没有定义任何不同的符号。请记住,这是为项目本身设置的,不会影响任何类库——因此我希望项目中的任何代码都能真正知道它是否在Window
#if TEST_APP
。现在我想定义TEST_应用程序。如何使用visual Studio 2010进行设置?这是一个windows窗体应用程序
如果您可以告诉我在winform项目和web项目中设置的符号的名称,请在项目属性页的“生成”选项卡中查找“条件编译符号”设置
我认为默认情况下,web和winform应用程序没有定义任何不同的符号。请记住,这是为项目本身设置的,不会影响任何类库——因此我希望项目中的任何代码都能真正知道它是否在Windows应用程序中。您想用它做什么?在visual studio解决方案资源管理器中,右键单击项目并单击属性。打开build选项卡,您将看到一个字段“条件编译符号”。这是一个逗号分隔的列表,或空格分隔的列表。 还有两个常用符号复选框“调试”和“跟踪” 对于web项目,可以将字段设置为“web\u项目”,将winforms设置为“winforms\u项目”方法1:
#define TEST_APP true
#if TEST_APP == true
#endif
方法2:
#define TEST_APP
#if defined(TEST_APP)
#endif
来源:如果需要条件编译来动态反映构建或环境条件,请查看我对StackOverflow的回答。我将演示如何基于环境条件启用条件编译,例如C#language version,以便您可以编写如下代码:
#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
在写了APP_TEST-dAPP_TEST(我认为是gcc)之后,它们失败了,在看到这些答案之后,我意识到我有一个对我的web库的引用,而不是包含我的文件。哎呀。当我试图让F和C在相同的分部类中定义方法时,我不需要应用程序和Web定义,我只是想知道,因为我知道C++做的。我正在一个应用程序中测试一些后端代码,以便我可以动态修改它,这在web应用程序中是不允许的(以下情况下不允许更改。调试器连接到已运行的进程)我们在web应用程序中使用它来启用调试中的缓存。在版本中启用了缓存逻辑,在调试中禁用了缓存逻辑,但有时需要测试缓存逻辑(在调试中)。因为这是一个额外的条件,所以很方便。(DEBUG | DEBUG_WITH_CACHE)您还可以直接在项目文件(*.csproj)中设置这些内容,例如
DEBUG;在PropertyGroup内跟踪。