TeamCity를 빌드하여 프로젝트를 ../../bin/Release 또는 ../../bin으로 리디렉션하는 OutputPath 지시문이있는 솔루션을 빌드하려고합니다/Debug. 이 솔루션은 Visual Studio 2008에서 제대로 구축되지만 TeamCity가 솔루션을 빌드 할 때 참조 된 프로젝트의 어셈블리를 찾지 못하면 네임 스페이스 오류가 발생합니다 ('SomeReferencedAssembly'형식 또는 네임 스페이스 이름이 'AssemblyBeingBuilt'네임 스페이스에 없음).TeamCity를 설정하여 csproj 파일의 OutputPath 지시문을 따르십시오.
기본 위치에없는 어셈블리가있는 참조 된 프로젝트를 TeamCity에서 찾을 수있는 방법이 있습니까? 참조 된 프로젝트를 빌드 할 때 출력이 올바르게 지정되기 때문에 지시문을 이해합니다. 그 이후에 다른 프로젝트를 빌드하는 것은 그들이 의존하는 어셈블리를 찾지 못하는 것입니다.
모두 하나의 해결책이며 제 3 자 재료가 없습니다. 솔루션의 모든 프로젝트는 기본 "bin/$ (Configuration)"대신 "../../bin/$(Configuration)"으로 설정된 OutputPath 지시문 (모든 빌드 구성에 대해)을 갖습니다. 즉, 빌드 출력이 솔루션 구조 외부의 디렉토리에 삭제됩니다. VS는이 문제를 잘 처리하고 TC는 올바른 OutputPath를 빌드하지만 다른 프로젝트가 빌드되어 방금 OutputPath에 드롭 된 프로젝트에 종속 될 때 넘어집니다. – grenade
종속 프로젝트는 의존하는 프로젝트의 어셈블리를 찾을 수 없습니다. 나는 TC가 어셈블리 참조를 해석 할 때 OutputPath 지시문을 따르도록 설계되지 않았다는 것이 문제라고 생각합니다. 내가 TC와 버그를 제기하고 그 동안 나는 당신의 유물 의존성 아이디어를 시도 할 것입니다. – grenade