Консольное приложение C# в Linux и переменная средыC#

Место общения программистов C#
Ответить
Гость
 Консольное приложение C# в Linux и переменная среды

Сообщение Гость »


У меня есть консольное приложение C#, которое я скомпилировал для Linux. Этому приложению требуется доступ к переменным среды. Я попытался настроить его с помощью EXPORT var1=value1 или установив его в /etc/environment. Я вижу, что эта переменная среды установлена ​​правильно, когда я выполняю printenv > но когда мое приложение не может получить доступ к этой переменной. Может ли кто-нибудь подсказать, как сделать так, чтобы мое приложение имело доступ к переменным среды? Я запускаю его на RHEL 8 и в своем приложении получаю доступ к переменной среды, используя Environment.GetEnvironmentVariable

Вот код, демонстрирующий это: Создан готовый рабочий процесс, как показано ниже:

защищенное переопределение асинхронной задачи ExecuteAsync (CancellationToken StoppingToken) { в то время как (!stoppingToken.IsCancellationRequested) { var env = Environment.GetEnvironmentVariable("HOMEBREW_PREFIX"); Console.WriteLine($"В рабочем процессе: {env}"); _logger.LogInformation("Работник работает в: {time}", DateTimeOffset.Now); await Task.Delay(1000, StopToken); } } Вот частичный вывод из printenv, который показывает, что переменная среды с именем HOMEBREW_PREFIX установлена ​​правильно.


Изображение


Вот скриншот точки останова и моего окна просмотра:


Изображение


Это на моем Mac, но, опять же, то же самое происходит и на моем компьютере с RHEL. Environment.GetEnvironmentVariable не может получить доступ к переменным среды
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»