如果app是winforms或asp.net,请使用预处理器。

|| 是否可以在程序集中检查哪个客户端(winforms应用程序或asp.net页)正在运行它? 我想添加一些方法,但仅适用于特定的客户端。 我知道,有预定义的调试(#if DEBUG)。在哪里可以找到完整列表,可以使用预处理器检查什么?     
已邀请:
您将需要多个构建配置,并为每个构建定义不同的预处理器指令。您可以在项目Properties页面的Build选项卡中设置条件预处理器指令,没有定义其他指令,只有DEBUG指令可以在同一选项卡中打开和关闭(与TRACE指令一起使用)。请注意,未为“发行版”构建配置定义调试。这是您需要执行的操作,以使程序集的不同版本得以构建。 参考文献: MSDN www.davidarno.org <-有关更直观的描述,请参见此文件     
为了扩展m0sa的答案,预处理器指令基本上只是传递给编译器的字符串。 如果您愿意,可以添加新的构建配置(例如:可以使用WebDebug / AnyCPU,WinformsDebug / AnyCPU,WebRelease / AnyCPU等代替Debug / AnyCPU和Release / AnyCPU)。 然后,在项目的属性页中,对于每种配置,您都可以在“条件编译符号”字段中提供一个值。例如,对于WebDebug和WebRelease,可以提供条件符号WEB。然后,您将可以使用:
#if WEB
using MyNamespace.WebStuff;
#endif
    

要回复问题请先登录注册