通过System.Environment.GetEnvironmentVariable("VAR_NAME")
在bash中使用export VAR_NAME=123
不起作用(上面的命令返回null)。将System.EnvironmentVariableTarget设置为User,Machine或Process不起作用。
将/etc/profile.d/settings.sh中的shell脚本与export VAR_NAME=123
放在一起需要重新启动,这是不可接受的。我无法在没有重新启动的情况下找到加载更改的方法。使用source /etc/profile.d/settings.sh
不起作用。我还没有测试它是否在重启后实际工作,因为我不打算重启:)
通过MonoDevelop导出变量有效,但不是一个选项,因为设置是跨项目使用的。我无法为解决方案设置环境变量。
必须有更好的方法。有线索吗?
Edit1:在bash中运行应用程序时工作正常。现在我无法在MonoDevelop中调试任何东西,所以我想找到一种方法让MonoDevelop包含所需的变量而不在每个项目中设置它们。
Edit2:通过转到Run -> Run With -> Custom Parameters
并添加环境变量,在MonoDevelop中非常接近。但是在调试时它们仍未应用。
Edit3:使用Run With - >自定义参数是一个死胡同,因为它不支持在MonoDevelop中运行多个项目。如果有多个启动项目,它根本不允许添加任何自定义参数。
答案 0 :(得分:0)
从bash执行MonoDevelop。这样,调试时可以使用环境变量。