2010-02-09 2 views
1

이전 버전의 Visual Studio (6, 2003, 2005)에서 프로젝트/솔루션에 기존 파일을 추가하면 파일이 올바르게 기억됩니다. 현재 솔루션에 복사되지 않고 그대로 있습니다. 어쨌든, 이것은 VS2008에서 내가 필요한 것입니다.Visual Studio 2008 프로젝트에서 파일 참조 만들기에 도움이 필요합니다.

예를 들어 제 3 자 DLL의 이유로 다른 DLL에 연결해야하는 두 개의 프로젝트가 있지만 래퍼와 상위 수준 API를 동일하게 유지하려고합니다.

ProjectA부터 시작해서 wrapper.cs 및 api.cs. 파일이 있습니다. wrapper.cs는 c1.dll 및 c2.dll에 연결됩니다. 이제는 제어 할 수없는 이유로 wrapper.cs 및 api.cs를 사용하지만 c3.dll 및 c4.dll에 연결되는 ProjectB가 필요합니다.

이상적으로, VS2008에서 ProjectB를 만든 다음 "기존 항목 추가"를 참조 wrapper.cs 및 api.cs의 ProjectA 폴더에 사용하는 것이 이상적입니다. 그러나이 작업을 수행하면 파일 복사가 수행되고 이제 소스 파일 간의 변경 사항을 추적하고 필요에 따라 병합해야합니다.

실행에 대한 조언을 실제로 사용할 수있는 가능한 해결책은 다음과 같습니다. 1.이 작업을 수행하는 데 사용할 수있는 SVN 트릭이 있습니까? 하나는 생각할 수 없지만 ProjectB 프로젝트 링크의 파일을 ProjectA 파일에 연결할 수 있다면 행복 할 것입니다. 2. VS2008에서 "파일 참조 추가"와 같은 역할을하는 올바른 옵션을 찾습니다. 나는이 프로젝트의 문맥에 민감한 메뉴를 살펴 보았지만 아무 것도 발견하지 못했다.

답변

2

링크로 추가 옵션을 사용해 보셨습니까? "기존 항목 추가 메뉴 ..."를 열면 파일을 찾아 선택한 다음 "추가"버튼 옆의 화살표를 선택하고 "링크로 추가"를 선택하십시오.

+0

약한 UI (IMO)에 대해 이야기합니다. 도대체 왜 그 3 가지 선택권을 가진 낙력주의 자에 그것을 넣을 것인가? "추가"가 기본값이어야합니다. "이전 버전보기"는 그 목록에 속하지 않습니다. '링크로 추가'는 확인란이므로 확인란이 분명해야합니다. "Add"가 목록의 첫 번째 항목 일 때, 놓치기 쉽습니다. MS, 드롭리스트를 드롭하고 그냥 체크 박스가! 좋아, 끝났어. :) ** ** 나에게 그것을 지적 해 주셔서 감사합니다! 나는 그것이 정확히 ** 내가 찾고있는 것이라고 생각하지만, 지난 2 년 동안 한 번도 눈치 채지 못했습니다. – Dave

+0

FYI - 완벽하게 작동합니다. 나는 방금 시험을 치고 차질없이 갔다. :) 다시 한번 감사드립니다. – Dave

+0

듣기 좋은데! :) – anthares

0

원본 파일을 참조하도록 .csproj 파일을 편집 할 수는 있지만 어쨌든이 작업을 수행했다고 생각합니다. 메모장에서 보면 많은 양의 상대 디렉토리 경로가 표시됩니다.

사용할 수있는 SVN 속임수가 하나 있습니다. 외부 파일을 사용하여 원본 파일을 체크 아웃하고 원하는 모든 디렉토리로 가져올 수 있지만 기존 파일이있는 디렉토리로 체크 아웃 할 수는 없습니다. 내용 처음 IIRC.

+0

VS2008은 실제로 파일 복사본을 만듭니다. "지금 기존에 추가"를 시도하면 프로젝트에 지정한 파일의 복사본이 생성됩니다. SVN 팁 주셔서 감사합니다 - "외부"를 조사해야합니다. 내가 이것이 이것이 문제라고 생각한 이유는 당신이 말한 것 때문이었습니다 - 비어 있지 않은 디렉토리에서 체크 아웃 할 수 없었습니다. – Dave

0

질문에 대한 직접적인 대답은 없지만이 경우 올바른 해결책은 wrapper.cs 및 api.cs의 기능을 분리하고 동적으로 종속성을로드하는 기능을 제공하는 것입니다. 이를 각 프로젝트에서 사용할 수있는 별도의 클래스 라이브러리로 패키지화합니다.

관련 문제