我在代码中写了
#if TEST_APP
。现在我想定义TEST_APP。如何使用 Visual Studio 2010 进行设置?这是一个 Windows 窗体应用程序。
Windows 窗体项目和 Web 项目中设置的符号名称是什么?
在 Visual Studio 解决方案资源管理器中,右键单击项目,然后单击“属性”。打开构建选项卡,您将看到“条件编译符号”字段。这是一个逗号分隔的列表,或空格分隔的。 还有 2 个常用符号的复选框,DEBUG 和 TRACE。
对于您的 Web 项目,您可以将该字段设置为“WEB_PROJECT”,将 winform 设置为“WINFORMS_PROJECT”
在项目属性页面的“构建”选项卡中,查找“条件编译符号”设置。
我不认为 Web 和 Windows 窗体应用程序默认定义了任何不同的符号。请记住,这是为项目本身设置的,不会影响任何类库,因此我希望项目中的任何代码都能真正知道它是否在 Windows 应用程序中。你想用这个做什么?
方法一:
#define TEST_APP true
#if TEST_APP == true
#endif
方法二:
#define TEST_APP
#if defined(TEST_APP)
#endif
来源:MSDN
如果您需要条件编译来动态反映构建或环境条件,请查看我在 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