2012-10-11 4 views
0

MSBuild 용 C++ 프로젝트와 C# 프로젝트가 있습니다.Visual Studio는 비 종속 프로젝트를 솔루션으로 구축합니다.

종속성은 프로젝트 파일에 <ProjectReference> 태그로 지정됩니다.

MSBuild를 사용하여 명령 줄에서 특정 프로젝트를 빌드하면 모두 올바르게 진행됩니다.

그러나 Visual Studio 2010에서 특정 프로젝트 A를 빌드 할 때 일부 프로젝트는 다시 빌드되지만 어떤 프로젝트 A는 종속되지 않습니다.

이러한 동작을 일으킬 수있는 원인과 해결 방법은 무엇입니까?

+1

VS 설정에서 진단에 msbuild 로그 수준을 설정하고 기발한 동작을 설명한 후 로그를 확인하십시오. 빌드를 트리거하는 원인은 무엇입니까? –

+0

내 솔루션을 위해 6000 개의 라인 출력을 받았습니다 ... – sergtk

+0

매우 자세한 출력과 매우 직관적 인 =). 이제는 프로젝트가 예기치 않게 다시 빌드 된 원인과 그 원인을 정확하게 찾을 수 있습니다. 결국 결국 힘들지는 않습니다.). –

답변

0

Project-A의 종속성 중 하나는 프로젝트에 따라 달라질 수 있습니다. Visual Studio는 모든 종속성을 줄입니다. 예컨대

프로젝트 A는 프로젝트-B & 프로젝트-C에 따라 프로젝트-C는 프로젝트-X, 프로젝트-C, 프로젝트-B 및 프로젝트-A를 구축 할 프로젝트-X

비주얼 스튜디오에 따라 .

종속성 워커는 종속성 그래프와 전체 목록을 찾는 데 유용한 유틸리티입니다.

+0

MSBuild로 빌드 할 때 모두 괜찮습니까? 종속성을 처리 할 때 Visual Studio와 MSBuild의 차이점은 무엇입니까? – sergtk

+0

Visual Studio는 가장 자주 참조 용 코드 검색을 수행하므로 대부분 모든 프로젝트를 빌드합니다. 이 기사에는 도움이 될만한 MSBuild에 대한 정보가 있습니다. http://blogs.msdn.com/b/visualstudio/archive/2010/12/21/incorrect-solution-build-ordering-when-using-msbuild-exe.aspx – arif

+0

솔루션 파일에 포함 된 기사에서 설명한 문제가 나타납니다. 의존성,하지만 솔루션 파일에 아무런 종속성이 - 나는이 문제에 대해 썼다. – sergtk

관련 문제