c# - 确定解决方案配置 (Visual Studio)

标签 c# visual-studio debugging configuration service

有没有办法在代码中确定您正在运行的“解决方案配置”?例如,“调试”与“发布”?

我有一个服务,我想在调试中的 IDE 中测试,现在我设置了 bool,如果设置为 true 则运行“服务”(然后使用 OnStart 方法运行我的“主”方法),如果它设置为 false,我只运行“main”方法。这很好用,但我经常忘记在测试后重置 bool,然后当我去安装服务时失败,我必须返回,重置 bool,重新编译等。

如果我能以编程方式确定我在 IDE 中运行 Debug,那么我就能解决这个问题。

编辑: 在考虑这一点时,我想我最终真正需要的是确定我是否在 ide 中“播放”应用程序而不是 soulutions 配置。这将允许我在调试或其他配置中进行编译。

最简单的解决方案似乎是检查“System.Diagnostics.Debugger.IsAttached”

最佳答案

您不能直接查看解决方案配置,但可以使用一些线索“猜测”您所处的版本。例如,DEBUG 预处理器宏将仅在 C# 的调试解决方案配置中定义。

bool InDebugConfiguration() {
#if DEBUG
  return true;
#else
  return false;
#endif 
}

关于c# - 确定解决方案配置 (Visual Studio),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1049471/

相关文章:

c# - C# 程序如何以管理员权限运行另一个程序?

c# - 找不到 sn.exe 来签署程序集

visual-studio - 错误 c1107 找不到程序集请使用/AI 或通过设置 LIBPATH 环境变量指定程序集搜索路径

c++ - 在 Eclipse 中使用 gdb 调试 C++ 代码

debugging - 如何调试从 FullTrustProcessLauncher 启动的 .exe

python - 如何在 PyCharm 中进行远程调试

C# ReadLine 问题

c# - Linq lambda 连接错误

asp.net - 使用附加到进程进行调试启动 ASP.NET 开发服务器

c# - 从 visual studio 命令提示符运行 nuget 包管理器控制台