문제

MS 다운로드에서 PowerShell V2 CTP3을 설치 했으며이 버전의 C#에 사용하기 위해 일반적인 참조 어셈블리가 어디에 저장되는지 궁금했습니다. V1 버전에 대해 프로그램 파일 etc Reference Assemblies PowerShell에 있다는 것을 알고 있습니다 .... 그러나 V2 CTP3 버전은 어디에 있습니까? 특히 새로운 System.management.Automation.dll을 찾고 있습니다

밥에 안부.

도움이 되었습니까?

해결책

내 32 비트 XP 시스템에서


Get-ChildItem \ -Recurse -Include System.Management.Automation.dll | 
 ForEach-Object {$.DirectoryName, $ ($.VersionInfo.FileVersion)}
공개 :


   C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0
6.0.6000.16386
C:\WINDOWS\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35
6.1.6949.0

FileVersion을 보면 GAC 당신이 찾고있는 버전입니다. 그러나 GAC에 있으므로 걱정할 필요가 없으며 참조하고 사용하는 것보다.

다른 팁

제 경우에는 길이있었습니다

C : Windows Microsoft.net Assembly Gac_msil System.Management.Automation V4.0_3.0.0.0__31BF3856AD364E35

내가 발견 한 방식은 Windows 에이 CTP를 설치 한 후 업데이트 된 폴더를보고 업데이트가 어디로 갔는지 확인하는 것이 었습니다. 이것이 당신에게 도움이되기를 바랍니다.

참조를 해결하기 위해 GAC를 사용해서는 안됩니다. C : Program Files Reference Assemblies Microsoft WindowsPowershell과 같은 적절한 참조를 찾아야합니다.

GAC의 설계/빌드 시간에 어셈블리가 해결되는 것은 일반적인 신화입니다. CLR 4.0 이전에, 당신은 그것에 도망 쳤습니다 (3.0과 3.5는 실제로 CLR 2.0이기 때문에). 진정한 멀티 타겟팅으로 이것은 휴식이 발생합니다. 따라서 항상 참조 어셈블리를 사용해야합니다.

또한 참조 어셈블리에는 코드를 포함 할 필요가 없습니다. 그들은 단지 어셈블리 메타 데이터와 공개 상징 일 수 있습니다.

아, 그리고 나는 덧붙여서 GAC는 런타임 해상도를 위해 퓨전로드에 의해 사용됩니다.

디자인/빌드 시간이라는 것은 Visual Studio를 사용하여 응용 프로그램을 구축하거나 MSBuild를 사용하여 EXE를 구축한다는 것을 의미합니다. 빌드 중에, 우리는 EXE에 배치 된 참조를 결정합니다. 여러 CLR이 참여할 수 있으므로 "올바른"CLR을 참조해야합니다.

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