문제

은 누구나 일하는 방법 PowerShell 사용 app.config 파?나의 몇 가지.NET DLL 을 사용하고 싶에서 하나의 스크립트는 그러나 그들은 기대는 자신의 구성하는 부분에 존재 app.config/web.config.

도움이 되었습니까?

해결책

크로스를 참조하이 스레드에게 같은 질문:아음속 응용 프로그램에 액세스하기.Config 연결 문자열에서 참조하는 DLL Powershell 에서 스크립트

내가 다음과 같은 내 스크립트를 호출하기 전에 DLL 필요로 하는 구성 설정,어디$configpath 은 파일의 위치하고 싶어 하중:

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

게시하도록 구성에서 지정한 파일에 적용된 실행 context.

다른 팁

나는 설정을 해야 할 것입에 있습니다.exe.config powershell 디렉토하지만,는 것 같이 나쁜 작업 방식을 사용합니다.

당신이 사용할 수 있습 ConfigurationManager 가 표시됩니다.OpenMappedExeConfiguration 구성 파일을 열려면 기반으로 실행하 DLL 이름이 아닌 응용 프로그램 exe,하지만 이것은 분명히 필요한 변경을 Dll.

하는 새로운 답변하는 오래된 질문입니다.

내가 생각하는 현대의 대답은 다음과 같습니다:그렇게 하지 않습니다.PowerShell 은 쉘입니다.일반적인 방법으로 정보를 전달하는 부품 사이의 포탄은 쉘 변수입니다.에 대한 powershell 는 다음과 같을 것이다:

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

면 설정이 될 것으로 예상된 상속된 프로세스 전반에 걸쳐 경계 컨벤션은 환경 변수를 사용합니다.나는 확장이 설정하는 간 C#/PowerShell 경계가 있습니다.의 몇 가지 예:

$env:PATH
$env:PSModulePath

당신이 생각하는 경우,이 항에 대한 패턴.순할 수 있습을 다시 생각해 보십시오.이 규범에 대한 PAAS 호스팅 앱은 새로운 대한 기본값 ASP.NET 서버에서 실행 되는 최적화되 CLR(ASP.NET v5).

https://github.com/JabbR/JabbRv2/blob/dev/src/JabbR/Startup.cs#L21
참고:글을 쓰는 시간 내에 연결 .AddEnvironmentVariables()

나는 재방문은 이 질문에 몇 번을 포함하여,요청합니다.나는 원하는 지분을 넣어 지상에서 말하 PowerShell 물건은 잘 사용하지 않는 <appSettings>.IMO 그것은 훨씬 더 좋은 포용하는 셸 측의 통해 PS.NET 측면에서 이었습니다.

해야 하는 경우 복잡한 구성을 JSON 문자열입니다.POSH v3+가 할 수 있는지 여부를 반-JSON 내장되어 있습니다.모든 경우에서 귀하의 프로세스에서 사용하는 동일한 복잡한 구성에 넣어.json 파일을 지점에서 해당 파일 환경 변수입니다.

는 경우에 하나의 파일이지 않는 충분 있는 잘 확립되 솔루션 같은 PATH 패턴, 할 수 있습니다..gitignore 해결,또는 ASP.NET 웹.config 해상도(이하지 않고 여기에).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top