2017-11-03 1 views
1

나는 다음과 같은 코드가에 어셈블리를로드 할 수 없습니다. 나는 절대 및 상대 클래스 이름을 시도했지만 아무 소용이 없다.PowerShell은 클래스

using 모듈을 사용하는 스크립트를 실행하기 전에 Add-Type을 실행하지 않고도 모듈을 실행할 수 있습니까?

환경 $PSVersionTable :

PS D : \ DiscoveryRunner> $ PSVersionTable

Name       Value 
----       ----- 
PSVersion      5.1.14409.1012 
PSEdition      Desktop 
PSCompatibleVersions   {1.0, 2.0, 3.0, 4.0...} 
BuildVersion     10.0.14409.1012 
CLRVersion      4.0.30319.42000 
WSManStackVersion    3.0 
PSRemotingProtocolVersion  2.3 
SerializationVersion   1.1.0.1 

참고 : 내가 찾은 해결 방법은, 그러나 그것은 추한 수정 년대 PowerShell 프로필 (see this docs for more information)에서 Add-Type 문을 추가하는 것입니다 그리고 가능하면 피하고 싶습니다.

+0

나는 당신이'namespace' 사용하여 선언하기 전에 어셈블리를로드해야 할 기대 - 당신이 주변을 교환 봤어? –

+0

@ MathiasR.Jessen'namespace' 및/또는'assembly' 순서의 모든 조합을 시도했습니다. 아무도 작동하지 않습니다. – tyteen4a03

+0

@ tyteen4a03'using assembly '는 구문 분석 시간의 어셈블리 로딩을 발생시키지 않습니다. 어셈블리로드로 인해 임의의 코드가 실행되어 바람직하지 않을 수 있습니다. 또한 아직 구현되지 않은 어셈블리 메타 데이터에서 유형을 추출하지 않고 AFAIK합니다. – PetSerAl

답변

0

코드 전에이 시도 :

[system.reflection.assembly]::LoadWithPartialName("System.Xml.Linq") 
+0

'using '이 허용되기 전에는 명령문이 없습니다. – tyteen4a03