在用户的环境变量下,我添加了一个变量,其键名为 eg。
TMP_VAR
和价值,例如。
C:\temp\sim
在 VS2010 .Net 4.0 中创建的 C# 应用程序中启动新进程并设置 StartInfo.EnvironmentVariables.Add("TMP_VAR", C:\temp\sim); 双击exe文件时出现此错误:
Item has already been added. Key in dictionary: 'TMP_VAR' Key being added: 'TMP_VAR'
但是,如果我从 VS2010(按 F5)启动它,则不会发生错误。
我的理论是 VS2010 以某种方式在某种“shell”中启动该过程并覆盖该“shell”中的变量。
此外,我的应用程序使用相同的键但不同的值启动多个进程。无法更改密钥。它必须是 TMP_VAR,但允许更改该值。
我的问题是:我的应用程序如何启动一个新进程,在某种“shell”中使用 StartInfo.EnvironmentVariables 设置相同的键。还是有另一种聪明的解决方案来解决我的问题?