2017-09-08 6 views
0

내가 지금처럼 nuget 패키지 관리자 콘솔 패키지를 설치하려고으로 특정 프로젝트에 패키지를 설치할 수 없습니다. I 두 프로젝트가

이러한 위치 :

  • [CUSTOMERNAME] .project.frontend

  • [CUSTOMERNAME] .project.backend

cutomerName 다르므로 매번, 와일드 카드를 사용해야합니다. 즉 현재 활성화되어있는 대신 전체 프로젝트를 반환 필터링 할 수 있기 때문에, 내가 다른 필터를 잃었 생각

install-package : Project 'System.__ComObject' is not found. 

:

문제는 내가 명령을 실행하려고 할 때, 나는이 오류가 있다는 것입니다 프로젝트 이름. 그러나 나는 확실하지 않다.

그래서 질문은 :

어떻게 와일드 카드를 가지고 특정 프로젝트의 패키지를 설치하는 방법은 무엇입니까?

+1

으로 프로젝트 이름을 확장'합니까 선택 - Object' 일이다 ? 예 : 'Get-Project - 전체 | where {$ _. ProjectName-like "* .project.frontend"} | Select-Object -ExpandProperty ProjectName' – BenH

+0

감사합니다. – 2hTu2

답변

1

질문에 가정했듯이 [string]PropertyName이 아닌 전체 Project 개체를 전달하고 있습니다.

개체의 속성을 하나만 사용하려는 경우 Object.Property 표기법 또는 Select-Object -ExpandProperty을 사용할 수 있습니다. 여기

은 당신의 코드는 Object.Property 표기법을 사용하고 있습니다 : 여기

Install-Package packageName -Version 6.2.2 -ProjectName ((Get-Project -all | where {$_.ProjectName -like "*.project.frontend"}).ProjectName) 

Select-Object 매개 변수를 사용하여 속성을 확장 코드 -ExpandProperty 매개 변수

Install-Package packageName -Version 6.2.2 -ProjectName (Get-Project -all | where {$_.ProjectName -like "*.project.frontend"} | Select-Object -ExpandProperty ProjectName) 
관련 문제