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


173

갑자기 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 조작을 수행하는 데 실패했습니다.

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


안녕 마이크. 나는 똑같은 문제가 있습니다. 문제를 해결하고 너겟 패키지 관리자가 있습니까?
Magnus Backeus

나도 같은 문제가있어. 이미 Powershell의 실행 정책을 무제한으로 설정했지만 도움이되지 않습니다. 패키지 관리자 콘솔에 패키지를 설치해도 문제 없습니다.
Adamy

5
같은 문제가 발생했습니다. 이 솔루션은 다음에 도움이되었습니다. stackoverflow.com/questions/10457039/…
Oleksii Aza

1
Windows 10에서 동일한 오류가 발생했습니다. "프로그램 및 기능"> "Windows 기능 켜기 / 끄기"에서 Powershell 2.0을 활성화 한 다음 Visual Studio를 다시 시작한 후 모두 제대로 작동했습니다.
twoleggedhorse

답변:


193

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

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

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

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


83
나를 위해 일했다. 64 비트 시스템의 PowerShell에서 ExecutionPolicy를 변경하면 64 비트 버전의 PowerShell에 대해서만 변경됩니다. 그러나 VS는 32 비트 프로세스이고 "Package Manager Console"도 32 비트 프로세스입니다. 이 문제를 해결하기 위해 start-job { Set-ExecutionPolicy Unrestricted } -RunAs32 | wait-job | Receive-Job64 비트 PowerShell 콘솔에서 실행할 수 있습니다 .
Gabriel

69
나중에 Visual Studio를 다시 시작해야합니다.
Danny Varod

잘 작동합니다. 패키지 자체가 작동하지 않는 솔루션을 제안하는 것은 유감입니다. 그리고 나중에 원래 정책을 설정하는 것을 잊지 마십시오.
Mohoch

9
VS 2013을 닫고, 관리자로 실행하고, 잘 작동하기 시작했습니다. ... wiered
Rusty

9
VS2015 에서이 문제가 있었고 NuGet paackage manager를 업데이트하면 문제가 해결되었습니다
Shawson

55

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

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


51

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

1. 단계

열기 Windows PowerShell로 실행Administrator

2. 단계

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

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

3. 단계

재시작 Visual Studio


감사합니다! 내가 windows powershell 명령을했을 때만 당신이 말한대로 작동했습니다. 정말 고마워!
Echiban

이것은 Windows XP, Visual Studio 2010 Web Developer Express 환경에서 작동했습니다. 비주얼 스튜디오를 닫았습니다. microsoft.com/en-us/download/confirmation.aspx?id=16818 Powershell을 다운로드했습니다 . Powershell을 설치했습니다. powershell을 실행하고 start-job {Set-ExecutionPolicy RemoteSigned}를 실행했습니다. -RunAs32 | 기다림 | 받기-직업. Visual Studio를 시작하고 nuget을 사용했습니다. 효과가있었습니다.
개발자 Marius Žilėnas

1
@ muflix :이 경우에는 불가능합니다. 적어도 방법을 모르겠습니다. 결국 그것은 보안 문제이므로 관리자에게 맡겨졌습니다
Michael Sander

나중에 문을 닫아야합니까? 어떻게?
Omid-RH

팩을 설치하는 동안 스크립트를 실행해야하므로 nuget을 사용할 수 없게됩니다.
Michael Sander

25

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

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

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


새로운 질문을해야합니다.
Tay2510

3
나는 이것이 제기 된 문제와 직접 관련이 있기 때문에 새로운 질문을 보증한다고 생각하지 않았습니다. 나는 새로운 질문처럼 들리지 않고 불만을 품은 개발자의 생각에 맞서기 위해 게시물을 다시 작성했습니다.
Allan

@Allan이 답변의 끝 (사후 편집)은 의견이거나 질문이어야합니다.
Danny Varod

귀하의 의견을 보내 주셔서 감사합니다. 보안 설정을 원하지 않거나 변경할 수없는 사람들을 위해 내 경험과 가능한 해결 방법을 공유하고 싶었습니다. 대답은 지금 더 잘 읽습니다.
Allan

Get-Package -Filter PartOfPackageName설치된 패키지를 검색 Install-Package PackageName -Version 7.0.1하여 특정 버전의 패키지를 설치합니다. 패키지 관리자 콘솔 상단에서 기본 프로젝트 를 선택하는 것을 잊지 마십시오
Lu55

24

대답이 없습니다.

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

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

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


4
실제로 제거하고 다시 설치하는 것이 유일한 도움이었습니다. 이 문제는 여기에 설명되어 있습니다 : github.com/NuGet/Home/issues/974
Zsolt

2
NuGet VSIX 패키지를 먼저 제거하지 않고 다시 설치하면 문제가 해결되었습니다.
Dave


16

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


1
Ditto, 사람들은 패키지가 설치되면 VS를 닫고 정기적 인 권한으로 다시 열어야한다는 것을 기억해야합니다.
Liam Laverty

7

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


어떻게? 다른 프로세스에서 사용하고 있다고 불평합니다
Brandon

7

Nuget 패키지 관리자를 업데이트하여 수정했습니다.


6

이것은 최근 6.0.4부터 시작되었습니다.이 솔루션이 좋은 해결책이라고 생각하지 않지만 여기에 도움이되었습니다. Visual Studio 닫기

  1. 관리자 권한으로 Windows PowerShell 프롬프트를 열고 (매우 중요) 다음 명령을 실행합니다 .Set-ExecutionPolicy Bypass
  2. Visual Studio를 열고 솔루션을 열고 Nuget을 사용하여 JSON.Net (또는 종속성으로 포함 된 모든 패키지)을 설치하십시오.
  3. 모든 것이 작동하면 다음 명령을 사용하여 powershell 실행 정책을 다시 제한으로 설정하는 것이 좋습니다. Set-ExecutionPolicy Restricted

5

Windows 10으로 업그레이드 한 후에도 같은 문제가 발생했습니다.

이것은 나를 위해 일했다

  1. Visual Studio 닫기
  2. 관리자 권한으로 Powershell을 실행하십시오.
  3. 운영 Set-ExecutionPolicy Unrestricted
  4. Visual Studio를 관리자 권한으로 실행
  5. 프로젝트를 정리하고 너겟 패키지 추가

여전히 작동하지 않으면 편집을 시도하십시오 devenv.exe.config

Visual Studio 2013 : C:\Users\<UserName>\AppData\Local\Microsoft\VisualStudio\12.0

Visual Studio 2015 : C:\Users\<UserName>\AppData\Local\Microsoft\VisualStudio\14.0

다음을 추가하십시오

    <dependentAssembly>
        <assemblyIdentity name="System.Management.Automation" publicKeyToken="31bf3856ad364e35" />
        <publisherPolicy apply="no" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.PowerShell.Commands.Utility" publicKeyToken="31bf3856ad364e35" />
      <publisherPolicy apply="no" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.PowerShell.ConsoleHost" publicKeyToken="31bf3856ad364e35" />
      <publisherPolicy apply="no" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.PowerShell.Commands.Management" publicKeyToken="31bf3856ad364e35" />
      <publisherPolicy apply="no" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.PowerShell.Security" publicKeyToken="31bf3856ad364e35" />
      <publisherPolicy apply="no" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.PowerShell.Commands.Diagnostics" publicKeyToken="31bf3856ad364e35" />
      <publisherPolicy apply="no" />
    </dependentAssembly>

Powershell 종속성을 추가하는 devenv.exe.config것은 VS2013 및 VS2015에서 모두 나를 위해 유일한 수정입니다. VS2013 : C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\12.0VS2015 : C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\14.0나에게 효과가 없었던 것은 실행 정책 변경, 레지스트리에서 실행 정책 변경, 패키지 관리자 재설치, Visual Studio 복구, Visual Studio 재시작, 창 다시 시작이었습니다.
Rubanov

Wooooow. 다른 모든 방법은 VS 2015에서 나를 위해 해결하지 못했습니다. devenv.exe.config에 종속성을 추가하는 것이 도움이되었습니다. 이 후 나는 또한 stackoverflow.com/questions/12638289/… 을 발견했습니다 . 너무 너무 감사합니다 !!!
nharrer


4

기본적으로 Windows 10 64 비트는 Powershell 버전 1.0 만 활성화되었습니다. 제어판 / 프로그램 / 프로그램 및 기능 / Windows 기능 켜기 켜기를 변경했습니다.

Windows Powershell 2.0 엔진이 활성화되어 있는지 확인하십시오.

비 관리자 모드에서 모든 패키지가 올바르게 설치된 VS2015를 다시 시작하십시오.


또한 Windows 10 64 비트가 있으며 Windows Powershell 2.0 엔진을 사용하여 패키지 관리자 콘솔이 작동하도록해야했습니다. 이 문제가 오랫동안 해결되지 않았으며 Microsoft가 Visual Studio 2017 설치 프로세스의 일부로 Powershell 2.0 엔진을 활성화하지 않은 것은 이상한 일입니다.
JSWilson


3

Visual Studio를 다시 시작하고 NuGet을 연 Package Manager Console다음 Manage NuGet Packages대화 상자 를 사용하면 됩니다.



3

위의 답변이 효과가 없다면-

  1. 실행 열기-windows + R
  2. 레지스트리 편집기 열기-regedit.exe 입력
  3. 열기-HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Windows \ PowerShell
  4. 오른쪽 창에서- "ExecutionPolicy"를 수정하고 "Value Data"를 비워 두십시오.
  5. Visual Studio를 다시 시작하십시오. 이제 Powershell을 올바르게 초기화 할 수 있습니다.

2

다양한 제안 된 수정을 시도한 후에 마침내 Visual Studio에서 NuGet Package Manager 확장을 업데이트하여 해결되었습니다.

도구-> 확장 및 업데이트에서 확장 및 업데이트 대화 상자 업데이트-> Visual Studio 갤러리에서 수행됩니다. Visual Studio를 다시 시작해야 할 수 있습니다.



2

VS2015 : NuGet을 업데이트하고 작업했습니다.


여기도 마찬가지입니다. VS2015를 사용하고 있었고 Nuget Package Manager를 업데이트했으며 작동했습니다.
iheartcsharp


2

위의 방법 중 어느 것도 도움이되지 않으면 Visual Studio를 업데이트 할 수 있는지 확인하십시오.

Newtonsoft.Json을 설치하려고 할 때 Visual Studio 2017 Community와 동일한 문제가있었습니다. 그만큼ExecutionPolicy변화는 (내가 PowerShell 및 레지스트리 편집기 모두를 사용하여 시도) 도움이되지 않았다. 또한 NuGet을 제거하고 설치하려고했습니다.

VS2017 설치 파일을 실행 한 후 Visual Studio 업데이트를 요청했습니다. 업데이트 후 모든 문제가 사라졌습니다.


1

나를 위해 실행 정책을 무제한으로 설정하지 못했습니다. 제어판으로 이동 하여 vs2013 설치 를 복구해야했습니다 . 설치 복구가 저에게 효과적이었습니다.


1

같은 문제가 있었고 이것이 나를 위해 해결했습니다 (Powershell과 관리자).

Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\PowerShell -Name ExecutionPolicy -Value ByPass 

1

제안 된 모든 솔루션을 시도한 후 VS 2015 업데이트 2에서 아무것도 작동하지 않았습니다.

솔루션 폴더에서 패키지 폴더를 삭제하고 Visual Studio에서 복원하면 나에게 도움이되었습니다.


1

나는 비슷한 문제가 있었다. "Windows 기능 설정 또는 해제"에서 "Windows PowerShell 2.0"기능을 설정하여 문제를 해결했습니다. 이 기능은 기본적으로 켜져 있으며 며칠 전에 수동으로 해제했습니다.

Windows 10 Pro 64bit에서 작업하고 있는데 Visual Studio 2015 및 2017과 동일한 문제 (32bit 및 64bit 앱)


0

Windows PowerShell 용 관리 템플릿 다운로드 및 설치

Next:  Powershell x86 from As Administrator

Run:   Get-ExecutionPolicy -List  , and see if you have RemoteSigned etc..

1. 5 different scopes  Set-ExecutionPolicy "RemoteSigned" -Scope Process -Confirm:$false

2. Machine and User Policy you have to set through the Group Policy Administration Template in 2 areas.

업데이트-편집 :

Set ALL of them to  "Undefined" and ONLY the LocalMachine to "Restricted" 

이것은 Visual Studio 2013 및 2015를 엉망으로 만들지 몰라 내 powershell에 더 많은 권한을 부여 한 후 수정 된 것입니다.


0

이 문제가 항상 PowerShell 실행 정책과 관련이있는 것은 아닙니다. 내 컴퓨터는 PowerShell x64 및 x86 모두에 대해 "제한되지 않음"으로 구성되어 있지만 Visual Studio 2013에서이 오류 메시지가 계속 나타납니다.

패키지 관리자 콘솔을 열려고 할 때 :

Windows PowerShell이 ​​실행 정책을 성공적으로 업데이트했지만보다 구체적인 범위에서 정의 된 정책으로 설정이 재정의됩니다. 재정의로 인해 쉘은 현재 유효 실행 정책 인 Unrestricted를 유지합니다. 실행 정책 설정을 보려면 "Get-ExecutionPolicy -List"를 입력하십시오. 자세한 내용은 "Get-Help Set-ExecutionPolicy"를 참조하십시오.

유효한 오류 메시지가 아닙니다.

Visual Studio를 다시 부팅해도 항상 문제가 해결되는 것은 아닙니다.

관리자로 프로세스를 실행하면 문제가 해결되지 않습니다.

Declan과 마찬가지로 패키지 관리자 플러그인의 최신 업데이트로 문제가 해결되었습니다. 2.8.60723.765


0

실행 정책을 Unrestricted 또는 RemoteSigned 대신 Bypass로 설정하십시오. 이 튜토리얼은 더 자세한 지침을 제공합니다 . 또한 PowerShell을 사용하여 정책을 변경하는 데 문제가있는 경우 작성자는 Regedit에서 정책을 변경하는 방법을 보여줍니다.


Unrestricted도 마찬가지로 작동해야합니다. 안전하지 않은 작업을 수행 할 때 Bypass 가 진행하여 명령을 실행하는 경우에만 경고합니다 .
Auspex

0

어둠 속에는 찌르는 찌르기가 많기 때문에 직접 추가하겠습니다.

필자의 경우, 잠금 파일이 누락되었다는 메시지와 dnu restore패키지 관리자 콘솔에서 실행할 것을 권장합니다 . 나는 그렇게하고 VS를 다시 시작했으며 모든 것이 이제 작동합니다.


0

나를 위해 일한 것은 다음과 같습니다.

  1. 실행 정책을 무제한으로 설정하십시오.
  2. Find-Module ISEModuleBrowserAddon | Install-Module
  3. Import-Module ISEModuleBrowserAddon
  4. Find-Module ISEScriptAnalyzerAddOn | Install-Module
  5. Import-Module ISEScriptAnalyzerAddOn
  6. Import-Module ScriptBrowser
  7. ISE에서는 다음이 필요합니다. Enable-ScriptBrowser

또한 ISE에 모듈, 스크립트 및 분석기가 있습니다.

Win 10 Pro x64 콘솔 호스트 5.0.10586.122에서 실행

행운을 빕니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.