如何为C#调试设置环境变量

时间:2013-01-30 14:13:00

标签: c# debugging dll environment-variables path-variables

我正在尝试将托管和本机dll加载到我的C#应用​​程序中。我想设置PATH环境变量,因此应用程序可以找到要加载的dll。在C ++中这很容易,但我怎样才能在C#项目中做到这一点? (顺便说一句,我使用的是VS2012,.NET,WPF)

2 个答案:

答案 0 :(得分:4)

使用Environment.SetEnvironmentVariable()

string currentPath = Environment.GetEnvironmentVariable("path");
Environment.SetEnvironmentVariable("path",currentPath + ";c:\path_to_libraries");

请记住,这只适用于当前流程。如果要设置持久性环境变量(用户或计算机范围),请使用Environment.SetEnvironmentVariable(string, string, EnvironmentVariableTarget)重载。 See here用于该参考。

答案 1 :(得分:0)

小心这件事。我会明确设定目标,例如     System.Environment.SetEnvironmentVariable(“windir”,System.Environment.GetEnvironmentVariable(“SystemRoot”),EnvironmentVariableTarget.User);

当我没有设置目标时,我的Windows会话发生了非常奇怪的事情,要求我注销和登录甚至重启。因此,除非这种变化真的是在机器或过程级别,否则不要假设使用默认值

获得满意的结果