为整个项目全局声明预处理器符号(如DEBUG)

我想在NUnit和VS Tests之间切换,如下所示:

#if !NUNIT using Microsoft.VisualStudio.TestTools.UnitTesting; #else using NUnit.Framework; using TestClass = NUnit.Framework.TestFixtureAttribute; using TestMethod = NUnit.Framework.TestAttribute; using TestInitialize = NUnit.Framework.SetUpAttribute; using TestCleanup = NUnit.Framework.TearDownAttribute; using TestContext = System.String; using DeploymentItem = NUnit.Framework.DescriptionAttribute; #endif 

我的问题是,如何在一个地方声明NUNIT预处理器符号(App.config左右,会很棒),轻松地在NUnit和VSTests之间切换? 因为当我使用#define NUNIT ,它只适用于写入文件的文件。

使用项目属性对话框。 您可以在那里定义全局符号:

右键单击项目 – >属性 – >构建选项卡 – >条件编译符号

每个项目执行此操作的唯一方法是通过项目/构建本身(项目属性 – >构建 – >条件编译符号)。 您可以为项目定义多个“配置”(定义了不同的符号),并使用您想要的那个。

要添加新配置,请使用配置管理器(位于调试/发布下拉列表的底部)并基于现有(调试/发布/等)创建一个新配置。 现在,在项目属性中,您可以选择此选项以设置该配置的不同符号。