기본 Visual Studio 솔루션을 관리하는 방법을 알아 내려고하고 있습니다. 우리는 다른 팀에서 관리하고 자주 업데이트되는 (종속성과 함께) C++/CLI 프로젝트, C++ 기본 프로젝트, C# 프로젝트, 외부 종속성 (자체 종속성을 가진 컴파일 된 C# 어셈블리)을 관리해야합니다.C++ C# 프로젝트 종속성 관리
프로젝트의 모든 유형은 서로에 대한 종속성이있을 수 있습니다 (물론 C# 또는 C++ 기본 제외).
일부 C# 프로젝트는 외부 DLL에 종속되어있어 다른 DLL이 제대로 작동해야 할 수 있습니다.
지금까지는 각 프로젝트의 출력 디렉토리 (외부에서 컴파일 된 C# 라이브러리 및 필수 C++ DLL에 대한 추가 종속성)에 대한 참조를 복사하는 사후 빌드 단계를 사용했습니다. 이 과정을 자동화하고 싶습니다. 프로젝트가 많으며 외부 DLL은 다른 팀에 의해 관리되는 경우가 많으며 (때로는 더 많은 종속성을 추가하는 경우도 있음) 우리가 변경 한 모든 변경 사항이 자동으로 주 프로젝트에 반영되기를 바랍니다.
배치 파일을위한 도구 또는 모범 사례가 있습니까? 아니면이 의존성 지옥에서 스스로를 잃지 않고 새 프로젝트가 솔루션에 포함될 때마다 svn 업데이트와 약간의 구성 작업을해야합니까?
내 문제 중 하나는 C# project1.dll과 C# project 1b.dll이 필요한 C# project1.dll이있는 경우입니다. C# project2에 project1.dll이 필요한 경우 project1a.dll과 project1b를 추가하지 않는 것이 좋습니다. dll to project2 references 그러나 내 output 폴더에서 찾으려합니다 (Project1a는 다른 팀에서 관리하기 때문에 날마다 project1x.dll이 필요합니다).
이 요구 사항을 어떻게 해결 했습니까?
VS에 자동으로 프로젝트 종속성을 연결하는 옵션이 있습니다. 라이브러리 (부스트, BLAS 등), C++/CLI DLL 및 C# 프로젝트 (공유 추가 기능, 독립 실행 형 콘솔 프로그램, Windows 양식 프로그램)에 따라 여러 개의 C++ 정적 라이브러리를 사용하여 상당히 큰 프로젝트를 관리합니다. 의존성 관리 문제. 유일한 것은 정적 라이브러리가 아닌 (분산 된) DLL 용 링커에 외부 라이브러리를 지정하는 것입니다. VS2005를 사용합니다. –