2017-04-13 20 views
0

상대 경로를 사용하여 BeforeBuild MSBuild 작업을 포함시켜 종속성이 먼저 만들어 지도록합니다.솔루션 또는 프로젝트 디렉터리에서 Visual Studio (MSBuild)가 해결 되었습니까?

우리의 폴더 구조는 솔루션 폴더 -> 솔루션 -> 프로젝트 폴더 -> 프로젝트입니다.

MSBuild는 솔루션 폴더 또는 프로젝트 폴더에서 시작을 해결합니까?

감사합니다!

+0

MSBuild에 VS Solution은 컨테이너 일뿐입니다. 프로젝트 레퍼런스가 전적으로 의존성을 해결하므로 폴더 구조가 중요하지 않습니다. 다른 솔루션 폴더에서 프로젝트를 참조 할 수 있으며 MSBuild는 여전히 빌드 순서를 파악할 수 있습니다. 종속성을 빌드하기 위해 전용 타스크가 필요한 이유를 설명 할 수 있습니다. (그리고 나는 단지 기록을 위해 DV를 사용하지 않았다.) – Filburt

+0

우리는 여러 솔루션에 걸쳐 의존성을 확산시켰다. 56 개의 서로 다른 구성 요소가있는 거대한 고대 응용 프로그램. 우리는 의존성 관리를 위해 NuGet을 사용하려했지만, 개발자가 가져온 패키지가 특정 지사의 일부인지 아닌지에 관심을 기울이지 않은 개발자와 관련된 문제에 부딪혔습니다. 현재의 절차는 이러한 모든 솔루션을 수동으로 별도로 구축하는 것입니다. MSBuild 태스크를 통해 이들을 함께 묶는 더 나은 작업을 시도합니다. – John

+0

그림을 지우고 간단한 해결책으로 NuGet을 제안하는 답변자를 준비합니다. – Filburt

답변

0

파일 경로의 컨텍스트에 따라 다릅니다. 의심스러운 경우 $(MSBuildProjectDirectory) 또는 $(MSBuildThisFileDirectory)을 사용하여 올바른 위치에 있는지 확인할 수 있습니다.