programing

파워쉘 앱.구성

javamemo 2023. 9. 12. 19:48
반응형

파워쉘 앱.구성

PowerShell을 사용할 수 있는 방법을 찾은 사람이 있습니까?app.config파일이요? 몇개 가지고 있어요.스크립트 중 하나에 NET DLL을 사용하고 싶지만 자체 구성 섹션이 있을 것으로 예상됩니다.app.config/web.config.

이 스레드와 교차 참조하는 것이 같은 질문을 하는데 도움이 되었습니다.아음속 앱 액세스.Powershell 스크립트에서 참조된 DLL의 연결 문자열 구성

구성 설정이 필요한 DLL을 호출하기 전에 스크립트에 다음을 추가했습니다. 여기서 $configpath는 로드할 파일의 위치입니다.

[appdomain]::CurrentDomain.SetData("APP_CONFIG_FILE", $configpath)
Add-Type -AssemblyName System.Configuration

지정된 구성 파일이 실행 중인 컨텍스트에 적용되는지 확인하려면 이 게시물을 참조하십시오.

설정이 powershell 디렉토리의 powershell.exe.config에 있어야 할 것 같은데, 그것은 좋지 않은 방법인 것 같습니다.

Configuration Manager를 사용할 수 있습니다.응용 프로그램 exe가 아닌 실행 중인 DLL 이름을 기준으로 구성 파일을 열려면 MappedExeConfiguration을 열지만 DLL을 변경해야 합니다.

이전 질문에 대한 새로운 답변을 시도하는 중입니다.

제 생각에 현대적인 대답은 "그러지 마세요.파워쉘은 쉘입니다.쉘의 부분 사이에 정보를 전달하는 일반적인 방법은 쉘 변수입니다.파워셸의 경우 다음과 같습니다.

$global:MyComponent_MySetting = '12'
# i.e. 
$PSDefaultParameterValues
$ErrorActionPreference

설정이 프로세스 경계에 걸쳐 상속될 것으로 예상되는 경우 환경 변수를 사용하는 것이 관례입니다.C#/PowerShell 경계를 넘나드는 설정으로 확장합니다.몇 가지 예를 들 수 있습니다.

$env:PATH
$env:PSModulePath

이것이 에 대한 안티패턴이라고 생각한다면.NET을 다시 생각해 볼 수도 있습니다.이것은 PAAS 호스팅된 앱의 표준이며, ASP의 새로운 기본값이 될 것입니다.서버에 최적화된 CLR(ASP)에서 실행되는 NET.NET v5).

https://github.com/JabbR/JabbRv2/blob/dev/src/JabbR/Startup.cs#L21 참조
참고: 제가 링크하고 있는 글을 작성할 당시.AddEnvironmentVariables()

저는 이 질문을 제가 직접 물어보는 것을 포함하여 몇 번 다시 생각해 보았습니다.저는 PowerShell 제품이 잘 작동하지 않는다고 말하기 위해 이해관계를 맺고 싶었습니다.<appSettings>. IMO는 PS의 셸 측면을 수용하는 것이 훨씬 더 좋습니다.이와 관련하여 NET 측면.

복잡한 구성이 필요한 경우 JSON 문자열을 사용합니다.POSH v3+에는 ConvertFrom-JSON이 내장되어 있습니다.프로세스의 모든 것이 동일한 복잡한 구성을 사용하는 경우 .json 파일에 넣고 환경 변수에서 해당 파일을 가리킵니다.

하지 않은 에는 Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ PATH패턴, GIT.gitignore resolution, 또는 ASP.NET web.config 해상도(여기서는 반복하지 않음).

언급URL : https://stackoverflow.com/questions/17960/powershell-app-config

반응형