使用系统/系统属性/环境变量我在Windows上设置了一个新变量,如此处所述:on youtube。我创建一个控制台应用程序,如此处所述:at Microsoft,并且可以访问先前设置的环境变量。那只是在我长大的应用程序中使用它的测试。在那里,我写了与测试应用程序第一行主要内容相同的行:
string value = Environment.GetEnvironmentVariable("MyVariable");
和返回的值为空。 我可以想象到的唯一可以发挥作用的区别是,在项目属性/调试中已经设置了(其他)变量。
您知道为什么我无法从主应用程序访问我的EnvironmentVariable MyVariable吗?我可以检查什么进行调试?
我在主应用程序上通过代码设置了变量
Environment.SetEnvironmentVariable(key, value);
比下一次我启动该变量可用。但是实际上,这不是我要编写环境变量的方式。
答案 0 :(得分:2)
根据这些信息很难说是怎么回事。
但是我猜测(基于您提到的YouTube视频)是您在Windows中为%USER%创建了一个环境变量,并以其他用户(即管理员)的身份运行Visual Studio。
在Windows系统上,当前进程的环境块包括:
创建它的父进程提供给它的所有环境变量。例如,从控制台窗口启动的.NET应用程序继承了控制台窗口的所有环境变量。
如果没有父进程,则使用按计算机和按用户的环境变量。例如,新的控制台窗口在启动时会定义所有按计算机和按用户的环境变量。
尝试将环境变量添加为系统变量,然后重试。