programing

system.management를 참조합니다.visual studio의 automation.dll

elseif 2023. 4. 24. 22:34

system.management를 참조합니다.visual studio의 automation.dll

PowerShell 모델과 스냅인 개발에 대해 알아보려고 합니다.먼저 System.management를 참조해 주십시오.자동화.실행.단, Visual Studio에서는.[NET] 탭에는 해당 어셈블리가 없으며 참조할 수도 없습니다.

C:\windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\System.Management.Automation.dll

파일 기반 참조를 만듭니다.

쉽게 참조할 수 있도록 파일을 수동으로 복사해야 합니까?

System.Management.Nuget에서의 자동화

System.Management.NuGet의 Automation.dll, 2015년 이후 새로운 패키지, 이전 패키지 목록에는 없습니다!

Microsoft PowerShell 팀이 NuGet 패키지화

업데이트: PowerShell 팀이 패키지를 소유하게 되었습니다.후자!

시스템 복사본입니다.관리.Automation.dll은 Windows SDK(적합하고 최신 버전)를 설치할 때 설치됩니다.C:\Program Files\Reference Assemblys에 있어야 합니다.\Microsoft\Windows PowerShell\v1.0\

윈도우즈 SDK를 설치하지 않으려면 powershell에서 다음 명령을 실행하여 dll을 얻을 수 있습니다.

Copy ([PSObject].Assembly.Location) C:\

SDK를 올바르게 인스톨 할 수 없었습니다(일부 파일은 서명되어 있지 않은 것 같습니다).저는 여기서 다른 해결책을 찾았고, 그것은 저에게 잘 맞는 것 같습니다.새로운 파일을 인스톨 할 필요는 없습니다.기본적으로 다음과 같은 작업을 수행합니다.

텍스트 편집기에서 .csproj 파일을 편집하고 다음을 추가합니다.

<Reference Include="System.Management.Automation" />

관련 섹션으로 이동합니다.

64비트인 경우 - C:\Program Files (x86)\Reference Assemblys\Microsoft\Windows PowerShell*3.0**

버전이 다를 수 있습니다.

VS Project Reference 메뉴를 사용하여 C:\windows\assembly\를 참조했습니다.GAC_MSIL\시스템관리.dll 및 Runspaces dll에 대한 참조를 자동화하고 추가했습니다.

.csprj 파일을 해킹하여 위의 참조선을 추가할 필요가 없었습니다.Windows SDK 가 인스톨 되어 있지 않습니다.

위에서 언급한 Powershell 복사를 했습니다.복사([PSObject])어셈블리.장소) C:\

그 후 Get-Process Powershell 명령을 사용한 테스트가 성공했습니다.개발자를 위해 Powershell의 예를 5장에 사용했습니다.

@skfd가 상기한 바와 같이 시스템은관리.대상으로 하는 경우 Automation.dll 패키지는 NuGet에서 사용할 수 있습니다.Net 4.8 이전 버전이지만 현재 삭제되었으므로 수동으로 설치해야 합니다.예:

PM >Install-Package System.Management.Automation.dll -Version 10.0.10586

시스템관리.대상으로 하는 경우에도 자동화 패키지를 사용할 수 있습니다.Net Core 또는 Framework 5/6으로 향후 지원되는 패키지인 것 같습니다.이 패키지를 설치하고 참조를 수동으로 추가할 수도 있지만 YMMV를 사용할 수도 있습니다.

Powershell SDK 부속 어셈블리 (C:\Program Files\Reference Assembly)\Microsoft\Windows PowerShell\v1.0)에는 Powershell 2 고유의 타입은 포함되어 있지 않습니다.

csproj 파일을 수동으로 편집하면 문제가 해결되었습니다.

nuget을 사용할 수도 있습니다.https://www.nuget.org/packages/System.Management.Automation/ 이 더 나은 옵션일 수 있습니다.

언급URL : https://stackoverflow.com/questions/1186270/referencing-system-management-automation-dll-in-visual-studio