2011-02-12 2 views
0

패키지 관리자 콘솔에서 사용자 지정 Scaffold 명령을 실행하면 기본 프로젝트의 .csproj 파일이 업데이트되고 솔루션의 다른 모든 프로젝트에있는 다른 모든 파일에 대한 참조가 추가됩니다!MVC 스캐 폴딩은 .csproj 파일을 오염시킵니다.

다른 사람이 본 사람이 있습니까?

피할 수있는 해결책이 있습니까?

실제로 같이 무엇이든 할 수있는이 .ps1 파일에있는 유일한 라인

:

Invoke-ScaffoldTemplate -Template $templateFile -Model @{ Name = $MyParam } -OutputPath $outputPath -Force:$Force 

편집 (주요 프로젝트)에 PS1 파일의 스크립트는 수동의 경로를 대상으로 출력 파일은 다른 프로젝트에서 일하려면 : "호출-ScaffoldTemplate을"명령에서

$outputPath = "..\OtherProject\TargetFolder\" + $EntityName 

, 나는 특히이 문제 바라고, 프로젝트에 대한 참조를 제거했습니다.

+0

안녕 대린, 내가 싶지만 내 질문에 전혀 문제가 해결 대답이 없었습니다! –

+0

Glen, 아래의 답변으로 검색어가 해결되면이 대답을 수락 할 수 있습니까? –

답변

7

편집 : 추가 한 추가 정보에 따라 업데이트됩니다. 명확히 해 주셔서 감사합니다.

".. \ OtherProject \ Filename"과 같은 상위 수준 경로를 사용하면 다른 프로젝트에 파일을 추가하는 방법이 아닙니다. 이로 인해 여러분이 목격 한 기괴한 효과가 만들어집니다. 이러한 경로가 Invoke-ScaffoldTemplate에 주어지면 예외를 throw하는 검사를 추가하는 것을 고려할 것입니다.

파일을 다른 프로젝트에 추가하는 올바른 방법은 적절한 -Project 매개 변수를 Invoke-ScaffoldTemplate에 전달하는 것입니다. 그런 다음 출력이 해당 프로젝트에 추가되고 경로는 해당 프로젝트와 관련된 것으로 해석됩니다.

예를 들어

,

$outputPath = "ExampleOutput" 
$wroteFile = Invoke-ScaffoldTemplate -Project "OtherProject" -OutputPath $outputPath -Template $templateFile -Model @{ ... etc ... } 
+0

명확히하기 위해 질문을 업데이트했습니다. –