.net - MonoDevelop调试时读取环境变量

标签 .net linux mono monodevelop

环境变量通过System.Environment.GetEnvironmentVariable("VAR_NAME")获取

在 bash 中使用 export VAR_NAME=123 不起作用(以上命令返回 null)。将 System.EnvironmentVariableTarget 设置为用户、机器或进程都不起作用。

将带有 export VAR_NAME=123 的 shell 脚本放入/etc/profile.d/settings.sh 需要重新启动,这是 Not Acceptable 。我一直无法找到在不重新启动的情况下加载更改的方法。使用 source/etc/profile.d/settings.sh 不起作用。我也没有测试它在重启后是否真的有效,因为我不会重启 :)

通过 MonoDevelop 导出变量是可行的,但不是一个选项,因为设置是跨项目使用的。我无法为解决方案设置环境变量。

一定有更好的方法。有什么线索吗?

编辑 1:在 bash 中运行应用程序时让它工作。现在我无法在 MonoDevelop 中调试任何东西,所以我想找到一种方法让 MonoDevelop 包含所需的变量,而无需在每个项目中都设置它们。

Edit2:通过转到 Run -> Run With -> Custom Parameters 并添加环境变量,在 MonoDevelop 中非常接近。尽管在调试时它们仍然没有应用。

Edit3:使用 Run With -> Custom Parameters 是一个死胡同,因为它不支持在 MonoDevelop 中运行多个项目。如果有多个启动项目,它根本不允许添加任何自定义参数。

最佳答案

从 bash 执行 MonoDevelop。这样环境变量在调试时可用。

关于.net - MonoDevelop调试时读取环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36916787/

相关文章:

linux - 如何使用shell脚本连接到2个不同的ftp服务器传输文件

c# - 当ButtonPressEvent发生时获取鼠标坐标

.net - 单操作系统特定 DLL

c# - 将标签文本显示为警告消息并在几秒钟后隐藏?

linux - madvise() 中 MADV_USERFAULT 标志的状态是什么?

c# - 如何在给定负载下运行 CPU(CPU 利用率百分比)?

python - 如何配置Python脚本执行以在执行时打开输出窗口?

linux - Mono如何删除与正则表达式匹配的文件

.net - 正则表达式 - 转义字符

c# - 使用 Linq 在 IEnumerable<T> 中查找序列