.net core 是否可以在launchSettings.json中引用环境变量?
我想用一个可执行文件运行我的代码,它是NuGet包的一部分。因此,exe在我的用户配置文件目录中。因此,该文件如下所示:.net core 是否可以在launchSettings.json中引用环境变量?,.net-core,asp.net-core-mvc,.net Core,Asp.net Core Mvc,我想用一个可执行文件运行我的代码,它是NuGet包的一部分。因此,exe在我的用户配置文件目录中。因此,该文件如下所示: { “概况”:{ “UITests”:{ “命令名”:“可执行文件”, “executablePath”:“C:\\Users\\MarkKharitonov\\.nuget\\packages\\nunit.consolerunner\\3.9.0\\tools\\nunit3 console.exe”, “commandLineArgs”:“@params.txt--wh
{
“概况”:{
“UITests”:{
“命令名”:“可执行文件”,
“executablePath”:“C:\\Users\\MarkKharitonov\\.nuget\\packages\\nunit.consolerunner\\3.9.0\\tools\\nunit3 console.exe”,
“commandLineArgs”:“@params.txt--where:\”方法==LoginSucceswithCorrectPassword\”。\\..\\UITests\\bin\\Debug\\net472\\UITests.dll”,
“工作目录”:“C:\\DFDeploymentSmokeTests\\LocalTestProfiles\\qa56”
}
}
}
是否可以引用环境变量UserProfile并使用它而不是C:\\Users\\MarkKharitonov
编辑1
我根本不希望我的名字出现在文件中。这样,如果其他人的源代码位于同一个文件夹中(这不是问题),它就可以被重用。但是,只要我必须使用我的名字引用NuGet包的路径,这个文件就不能提交给源代码管理。您可以通过
Environment.GetEnvironmentVariable("ASPNETCORE_PATH")
Configuration["ASPNETCORE_PATH"]
或
如果将.AddenEnvironment变量添加到配置中
var builder = new ConfigurationBuilder()
....
.AddEnvironmentVariables();
Configuration = builder.Build();
然后您可以通过以下方式获得环境变量:
Environment.GetEnvironmentVariable("ASPNETCORE_PATH")
Configuration["ASPNETCORE_PATH"]
PS编辑:我可以将环境变量放在哪里,以便通过IConfiguration读取?
通过大量实验,它似乎在某种程度上取决于正在运行的命令。更准确地说,命令在哪个shell中运行 如果它位于cmd.exe中,
%VARIABLE%
应该可以工作
如果它在powershell下运行,则在双引号可展开字符串中,它将是$env:VARIABLE
或${env:VARIABLE}
我会提出以下几点建议
{
"profiles": {
"UITests": {
"commandName": "Executable",
"executablePath": "${env:UserProfile}\\.nuget\\packages\\nunit.consolerunner\\3.9.0\\tools\\nunit3-console.exe",
"commandLineArgs": "@params.txt --where:\"method == LoginSuccessWithCorrectPassword\" ..\\..\\UITests\\bin\\Debug\\net472\\UITests.dll",
"workingDirectory": "C:\\DFDeploymentSmokeTests\\LocalTestProfiles\\qa56"
}
}
}
假设UserProfile是C:\Users\MarkKharitonov我不明白。您的回答如何帮助我找出如何用UserProfile环境变量的值替换launchSettings.json中的
C:\Users\MarkKharitonov
?如果将profiles\uuitests\uuuuu executablePath=C:\\Users\\MarkKharitonov
添加到环境变量中。您可以通过Configuration[“profiles:UITests:executablePath”]
阅读它,也许我不清楚。我添加了编辑1以澄清目的。请告诉我launchSettings.json将是什么样子。这不是堆栈溢出的工作原理。在私人聊天中继续,原始问题(也是我的问题)的答案仍然不可用。也就是说,我担心您可以引用任何有效的MSBuild变量,比如$(variable),包括环境变量。