我正在编写一个.Net Core C#控制台程序。测试时,可以方便地使用项目属性中定义的环境变量:
我写了这样简单的代码:
string rdsDatabase = System.Environment.GetEnvironmentVariable("RDSDatabase");
我刚刚了解到没有创建.exe,你必须使用“DotNet”来运行.net核心控制台程序(https://blogs.msdn.microsoft.com/benjaminperkins/2017/03/07/net-core-application-where-is-my-exe-how-to-publish/)。在那种情况下,我在哪里将这些环境变量放在运行时?我知道有一些替代方法,如本文所述:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration?tabs=basicconfiguration。我可以保持简单并使用GetEnvironmentVariable吗?
答案 0 :(得分:5)
创建一个设置变量的cmd文件。它只会被设置为"环境变量"正在执行cmd,之后是"环境变量"已经没有了。
示例dotnet核心应用程序:
class Program
{
static void Main(string[] args)
{
string myvar = System.Environment.GetEnvironmentVariable("MyEnvironmentVariable");
Console.WriteLine(myvar);
}
}
要调用的cmd示例(让我们假设已编译的dll被调用" Foo.dll"):
SET MyEnvironmentVariable=Hello
dotnet Foo.dll
输出应为" Hello"。
我个人会推荐一个配置文件(可以在部署时配置正确的值)。这也是(直接)查看配置的第一个地方。环境变量有点像魔法" A" run.cmd"也是很容易被忽视的东西。