在使用 C# 开发应用程序时,我们经常会用到环境变量来存储配置信息、路径或密钥等。然而,很多初学者会发现:通过代码临时设置的环境变量在程序关闭后就失效了。本文将手把手教你如何在 Windows 系统 中持久化设置环境变量,让你的 C# 应用程序每次都能读取到正确的配置。
环境变量是操作系统用来存储系统或用户级别配置信息的键值对。例如 PATHEXT、TEMP、USERPROFILE 等都是常见的系统环境变量。在 C# 中,你可以通过 Environment.GetEnvironmentVariable() 和 Environment.SetEnvironmentVariable() 来读写它们。
默认情况下,C# 中使用 Environment.SetEnvironmentVariable(key, value) 设置的环境变量仅在当前进程有效,程序退出后就会丢失。如果你希望变量在系统重启后依然存在,就需要将其写入系统的注册表或用户配置中——这就是“持久化设置”。
C# 提供了 Environment.SetEnvironmentVariable 的重载方法,允许你指定变量的作用域(Target)。要实现持久化,必须将 Target 设置为 EnvironmentVariableTarget.Machine(系统级)或 EnvironmentVariableTarget.User(当前用户级)。
using System;class Program{ static void Main() { // 设置当前用户的持久化环境变量 Environment.SetEnvironmentVariable( "MY_CUSTOM_VAR", "HelloFromCSharp", EnvironmentVariableTarget.User ); // 验证是否设置成功 string value = Environment.GetEnvironmentVariable("MY_CUSTOM_VAR", EnvironmentVariableTarget.User); Console.WriteLine($"MY_CUSTOM_VAR = {value}"); }} ⚠️ 注意:
Machine 级别需要管理员权限,否则会抛出异常。如果你不想写代码,也可以手动设置:
Win + R,输入 sysdm.cpl 并回车。MY_API_KEY)和值(如 abc123xyz),点击确定。读取时同样需要指定 Target,否则可能读不到:
// 读取用户级别的环境变量string apiKey = Environment.GetEnvironmentVariable("MY_API_KEY", EnvironmentVariableTarget.User);if (string.IsNullOrEmpty(apiKey)){ Console.WriteLine("未找到 MY_API_KEY 环境变量!");}else{ Console.WriteLine($"API Key: {apiKey}");} 通过本文,你已经学会了如何在 C# 中进行环境变量的持久化设置,无论是通过代码还是手动配置。掌握这项技能,能让你的 .NET 应用更灵活地管理配置,适应不同部署环境。记住关键词:C# 环境变量、持久化设置环境变量、Windows 系统环境变量 和 .NET 环境变量配置,它们是你后续搜索和学习的关键。
现在,快去试试为你自己的项目设置一个持久化的自定义环境变量吧!
本文由主机测评网于2025-12-13发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025127212.html