[powershell] “PowerShell 호스트 초기화 실패”로 인해 nuget 패키지를 설치할 수 없습니다

갑자기 Nuget 패키지를 업그레이드 할 때이 오류가 발생합니다. 내가 겪은 수정 사항은 없습니다. Visual Studio 2013을 사용하고 있습니다.

‘Newtonsoft.Json 6.0.3’이 이미 설치되었습니다.

토너먼트. 알림에 ‘Newtonsoft.Json 6.0.3’추가.

토너먼트. 알림에 ‘Newtonsoft.Json 6.0.3’을 성공적으로 추가했습니다.

스크립트 파일 ‘F : \ My Webs \ BasketballTournaments \ MainBranch \ packages \ Newtonsoft.Json.6.0.3 \ tools \ install.ps1’실행

PowerShell 호스트를 초기화하지 못했습니다. PowerShell 실행 정책 설정이 AllSigned로 설정되어 있으면 패키지 관리자 콘솔을 열어 호스트를 먼저 초기화하십시오.

패키지 관리자 콘솔

‘FileSystem’제공자에서 InitializeDefaultDrives 조작을 수행하는 데 실패했습니다.

콘솔에서 초기화가 완료 될 때까지 기다리는 경우 패키지를 추가 할 수있었습니다.



답변

실행 정책을 RemoteSigned 또는 Unrestricted로 설정하면 작동합니다. PowerShell 콘솔을 통해 관리자 모드에서 변경해야합니다. 32 비트 또는 64 비트의 PowerShell 콘솔 비트 버전에 따라 변경 사항이 적용됩니다. 따라서 특정 정책이 필요한 Visual Studio (32 비트 버전)에 패키지를 설치하려면 PowerShell (x86)을 통해 정책 설정을 변경해야합니다.

주석에서 @Gabriel이 언급 한대로 정책을 무제한으로 설정하는 PowerShell (관리자 권한) 명령은 다음과 같습니다.

start-job { Set-ExecutionPolicy Unrestricted } -RunAs32 | wait-job | Receive-Job

정책을 무제한으로 설정 한 후 설치가 완료된 후 정책을 원래 설정으로 되돌리려 고합니다.


답변

Set-ExecutionPolicy UnrestrictedPowerShell (x86)에서 Visual Studio를 다시 시작해야합니다 .

그래도 작동하지 않으면 Set-ExecutionPolicy RemoteSignedPowerShell (x86)에서 Visual Studio를 다시 시작하십시오.


답변

기본적으로 PowerShell 스크립트 실행은 보안상의 이유로 매우 제한됩니다. NuGet 내에서 사용하려면 문을 열어야합니다.

1. 단계

열기 Windows PowerShell로 실행Administrator

2. 단계

NuGet은 32 비트 콘솔을 사용하므로 64 비트 콘솔을 변경해도 영향을받지 않습니다. 다음 스크립트를 실행하여 32 비트 콘솔을 구성하고 있는지 확인하십시오.

start-job { Set-ExecutionPolicy RemoteSigned } -RunAs32 | wait-job | Receive-Job

3. 단계

재시작 Visual Studio


답변

NuGet 패키지 관리 대화 상자와 동일한 문제가 있으며 패키지 관리자 콘솔에서 실행되는 다른 사람들을 도울 수있는 해결 방법을 사용합니다.

명령 행 powershell commandlet install-package를 사용하면 모든 것이 정상입니다.

보안 설정을 “작동시키기 만하면”불리합니다.


답변

대답이 없습니다.

모든 정책이 정확했지만 패키지를 설치할 때 오류가 발생했습니다

PowerShell 호스트를 초기화하지 못했습니다. PowerShell 실행 정책 설정이 AllSigned로 설정되어 있으면 패키지 관리자 콘솔을 열어 호스트를 먼저 초기화하십시오.

솔루션 : 나는 한 제거 nuget 패키지 관리자 플러그인을하고 다시 설치 를.


답변

관리자로 Visual Studio를 실행하면 나에게 도움이되었습니다.


답변

Visual Studio 2015에서이 문제가 발생했습니다. NuGet Package Manager를 제거했다가 다시 설치했습니다. 그것은 나를 위해 일했다.