Как переменные среды для ASP.NET CORE внедряются в приложение (ASPNETCORE_ *)? - PullRequest
0 голосов
/ 13 февраля 2019

Когда я запускаю приложение Asp.Net Core в Visual Studio, оно запускает файл dotnet.exe с моим dll в качестве параметра.

Кроме того, я вижу, что приложение имеет доступ к множеству различных переменных среды, которыенедоступны в обычном консольном приложении, например ASPNETCORE_CONTENTROOT.Это делает некоторую магию, чтобы позволить appsettings.json файлам считываться непосредственно из каталога проекта, а не bin/debug.Я хотел добиться того же в своем консольном приложении, чтобы избежать копирования файла в папку bin/debug, но я не мог понять, что вводит эти переменные.

Так что вопрос в том, как эти переменные среды появляются вприложение Asp.Net?

Я подозреваю, что WebHost или некоторые базовые библиотеки делают это, но не может найти никаких доказательств того или иного кода, чтобы выяснить, как читается исходный каталог.

PS Я не пытаюсь выяснить, как сделать переменные окружения доступными через конфигурацию (как, например, AddEnvironmentalVariables), но как они становятся переменными окружения в самом процессе в первую очередь (чтобы впоследствии их можно было прочитать через config).

Меня интересует это по двум причинам: выяснить, как ASPNETCORE_CONTENTROOT настроен так же для консольного приложения и из любопытства:)

...