사용자 지정 형식을 제공하는 작은 PowerShell 모듈을 구현했습니다. .psm1
파일의 형식을 C# 클래스로 정의하고 Add-Type
을 추가했습니다. 이제 모듈을 추가하고 다시 제거 할 때 유형이 여전히 있습니다. 이 적합하지 않습니다 (예 : 모듈을 다시 추가 할 수 없음). Remove-Module
에 대한 설명서에는 모듈에 의해로드 된 어셈블리에 정의 된 유형도 언로드된다는 내용이 나와 있습니다. 하지만 제 모듈은 어셈블리를 가져 오지 않습니다. 소스 코드 형식의 작은 타입 일뿐입니다.PowerShell 2 모듈 유형
형식을 자체 DLL에 넣고 모듈 매니페스트에서로드 할 어셈블리로 표시 할 수는 있지만 현재 모든 소스 코드를 쉽게 볼 수있는 방식을 좋아합니다. 모듈과 함께 DLL을 배포하면 실행 파일이 필요한 이유가 의심 스러울 수 있습니다.
모듈을 내릴 때 어떻게 든 제거 할 수있는 것이 있습니까? 또는 적어도 일단 세션에서 제거한 모듈을 다시 추가 할 수 있다면 Add-Type
으로 잠재적 인 오류를 무시해야합니까? 차라리 거기에 DLL을 두는 것을 피할 것입니다. (어쨌든 그 작은 모듈을 위해 과잉 공격을하는 것 같습니다).
흠, 적어도 새로운 것을 배웠습니다. 'PSObject'에는 그런 종류의 마술이 있다는 것을 몰랐습니다. 필자가 새로운 유형을 만든 주된 이유는'ps1xml' 파일을 통해 형식을 제어하고'PSObject'보다는 더 좋은 유형 이름을 가졌기 때문입니다. 그러나 분명히 이것은 잘 작동하지만 조금 더 hackish하다고 느낍니다 .--) 감사합니다. – Joey