powershell에서 nuget 설치 스크립트를 작성 중이며 프로젝트 파일 (* .csproj)의 모든 PropertyGroup 요소에 액세스하고 싶습니다.
개체를 나타내는 $ project라는 변수에 액세스 할 수 있습니다 . 프로젝트 파일 (* .csproj)의 추상화 인 EnvDTE 에서 프로젝트 인터페이스를 구현한다고 생각합니다 .
$ project 개체에서 PropertyGroup 인스턴스를 가져 오려면 어떻게해야합니까?
이 자식 요소를 포함하는 모든 PropertyGroup 요소의 OutputPath를 변경하는 nuget install powershell 스크립트의 기능을 원합니다.
PropertyGroup은 .csproj 파일의 내부 구현 (MSBuild 기술)이고 EnvDTE.Project는 인터페이스이므로 EnvDTE.Project를 사용 하면 MSBuild 요소를 직접 가져 오거나 수정할 수 없습니다 . 실제로 VS 2005 이전에는 .csproj가 MSBuild 기반이 아니고 EnvDTE.Project 인터페이스가 이미 존재하고 이전 기술로 작동했습니다.
그러나 인터페이스이기 때문에 확실히 할 수 있습니다.
OutputPath는 각 프로젝트 구성의 속성입니다. 다음에 설명 된대로 EnvDTE.Project의 모든 구성을 가져올 수 있습니다.
HOWTO : Visual Studio 추가 기능에서 프로젝트 구성 / 플랫폼 가져 오기
(추가 기능은 EnvDTE를 사용합니다)
EnvDTE.Configuration이 있으면 해당 EnvDTE.Configuration.Properties 컬렉션과 특히 "OutputPath"에 액세스 할 수 있습니다. 보다:
HOWTO : Visual Studio 추가 기능 또는 매크로에서 출력 빌드 폴더 가져 오기
모든 프로젝트 구성이 변경되면 EnvDTE.Project.Save 또는 EnvDTE.Project.SaveAs 를 호출 하여 EnvDTE.Project.FullName 값을 매개 변수로 전달할 수 있습니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다