문제

VC++ 2010 프로젝트를 VC++ 2008 프로젝트와 동기화하고 싶습니다.심지어 가능합니까?기본적으로 VS2010에서 프로젝트에 파일을 추가/삭제/이름 변경하는 경우 해당 VS2008 프로젝트에 추가/삭제/이름 변경을 하고 싶습니다.프로젝트 옵션 동기화도 훌륭하지만 꼭 필요한 것은 아닙니다.솔루션 수준 동기화도 필요하지 않습니다.

편집하다:체크인 시 또는 빌드 시 스크립트나 도구를 사용하여 프로젝트 파일을 "병합"하라는 제안을 받았습니다.안타깝게도 VC++ 프로젝트 파일 형식은 VS2008에서 VS2010으로 변경되었으며 공통점이 없습니다.그래서 내 질문은 다음과 같습니다. vc9와 vc10 프로젝트 파일을 병합/변환할 수 있는 도구가 있나요? 이 문제를 해결할 다른 방법이 없다면 나만의 도구를 작성할 수도 있습니다.

도움이 되었습니까?

해결책

우리 회사에서 우리는 정확히 같은 문제가 있었고 사용하기로 결정했습니다. cmake.

최소한 프로젝트 중 하나에서 시도해보십시오. 문제에 대한 이상적인 솔루션입니다.

텍스트 파일의 간단한 구문으로 프로젝트를 설명하고 CMake는 동일한 파일에서 vs2005, vs2008 및 vs2010 프로젝트를 생성 할 수 있습니다.
이러한 방식으로 CMAKE 파일 만 수정되고 모든 프로젝트가 동시에 업데이트됩니다.

간단히 말해서 다음은 다음과 같습니다.
1. 청소
2. 설명
3. 네이티브
4. 안전합니다

왜냐하면:
1. 모든 옵션 및 구성은 많은 속성 패널이 아닌 파일에서 읽을 수 있습니다.
2. Cmake 문법과 구문은 읽기 쉽습니다.
3. 생성 된 모든 프로젝트는 CMAKE와 독립적입니다.
4. CMAKE 파일에서 소스 제어 관리자를 사용할 수 있습니다.

우리는 50 개의 프로젝트 또는 20 개의 프로젝트에 대한 솔루션을 가지고 있었고 많은 작업이었으며 CMake를 사용한 이유 중 하나는 현재 VS 및 Xcode에 공통적 인 일부 라이브러리에서 Mac에서 Xcode를 사용해야했기 때문입니다.
그러나 VS의 다른 버전만으로도 가치가 있었을 것입니다.

다른 팁

그만큼 갈리오 오스 프로젝트는 VS2010을 사용하여 구축되며 대부분의 기고자는 여전히 VS2008을 사용합니다. 유지하려면 *.csproj 파일과 동기화 된 파일 *.vs2010.csproj 파일, 우리는 모든 프로젝트 파일 쌍에 대해 Winmerge를 실행하는 간단한 PowerShell 스크립트를 사용합니다. 복잡한 것은 없지만 매우 편리합니다.

스크립트를 다운로드 할 수 있습니다 Google 코드. 실행하려면 다음 명령 만 입력하십시오.

@echo off
powershell "& './Compare VS2010 Projects.ps1' -sync %*"

도움이되기를 바랍니다.

소스 제어가 여기에서 도움이됩니다. 업그레이드 된 (vs2010) 브랜치를 만들고 트렁크 (vs2008) 사이의 변경 사항을 합병하여 이전 버전 으로이 작업을 수행했습니다. 확실히 완벽하지는 않지만 작동합니다.

VS2010의 프로젝트 변경이 이전보다 더 좋든 나빠질 지 모르겠습니다!

VS2008 프로젝트 파일을 VS2010으로 마이그레이션하는 명령 줄 옵션이라고 생각합니다. 따라서 옵션은 VS2008 만 유지하고 VS2010 프로젝트를 재생하는 것입니다. 단점은입니다

  • VS2010 특정 프로젝트 옵션을 입력 할 수 없습니다
  • VS2010 프로젝트에 대한 변경 사항은 덮어 쓰고 vs20008로 다시 합병되지 않습니다.

해당 솔루션/프로젝트 파일만 별도로 유지 관리할 수 있습니다.추가 기능을 작성하려면 알려주세요!

나는 직장에 2010 년을 설치하지 않았으므로 대부분 기억에서 나옵니다. 프로젝트 파일 스키마에서 2005 년부터 2008 년까지 2010 년까지 변경되지 않았습니다. 대부분의 경우 Windiff 또는 Compare와 같은 텍스트 비교 도구를 사용하여 변경 사항을 강조하고 한 파일에서 다른 파일로 복사합니다. 나는 웹 프로젝트 유형을 가지고 놀지 않았지만 대부분 동일한 기술이 작동한다고 가정합니다. 기본적으로 XML 스키마는 XML 매핑 도구를 사용하여 동일한 작업을 수행 할 수도 있습니다.

2010 년이 ClickOnce 프로젝트 설정을 좋아하지 않았다는 오픈 소스 프로젝트를 변환했을 때 알았습니다. 그것은 잘 변환 될 것이지만, 프로젝트를 열었을 때마다 다시 변환하도록 요청할 것입니다. 결국 중지하기 위해 프로젝트 파일에서 ClickOnce 정보를 완전히 제거해야했습니다.

편집 : 내 경험은 대부분 시간이 지남에 따라 크게 변하지 않은 C# 프로젝트 스키마를 기반으로합니다. 1984 년에 지적한 바와 같이, C ++ 스키마에는 몇 가지 큰 변화가 있습니다. 버전 10의 MSDN 문서 아직.

Visual Studio 2010은 VS2010을 사용하여 개발하고 플랫폼 도구를 V9로 다운 타겟팅 할 수 있도록 다중 표적화를 지원하여 최신 도구를 사용하여 이전 프로젝트를 유지할 수 있습니다. 왜 그렇게하지 않습니까?

C ++ 용 VS2010 및 VS2008이 포함되어 있습니다. VS2005 툴체인 설정에 대한 정보는 다음과 같습니다.

http://weblogs.asp.net/israelio/archive/2009/10/20/enable-vs-2010-multi-targeting-so-for-vs2005-c.aspx

나는 2008 년 대 VS가 나왔을 때 정확하게 이것을 다시했고 우리는 팀의 나머지가 v 2005를 사용하는 동안 그것을 평가하고있었습니다. 나는 새로운 형식 프로젝트 파일을 나머지 부분에 대해 나머지 부분에 대해 나누기 위해 커밋하고 싶지 않았습니다. 팀은 루비에서 방금 검색 한 작은 대본을 썼습니다. .vcproj 파일로 이름을 바꿨습니다 _2008.vcproj . 나는 똑같이했다 .sln 파일도 있지만 참조도 검색했습니다. .vcproj 에서 sln 파일로 이름을 바꿨습니다 _2008.vcproj 새로운 프로젝트를 참조하도록합니다.

다음으로, 새로운 솔루션 파일을로드하고 마이그레이션 마법사가 그 일을하도록하십시오 (2010 년 대 VS가 이전 버전과 마찬가지로 가정합니다). 이를 통해 두 버전을 나란히 실행할 수 있습니다. 팀의 다른 사람이 이전 프로젝트 파일을 변경하면 전환을 다시 실행 한 다음 마법사는 변경된 프로젝트를 마이그레이션해야합니다.

스크립트에 추가해야 할 추가 조정이 있습니다. OutputDirectory 그리고 IntermediateDirectory vcproj 파일의 필드를 통해 다른 디렉토리로 구축 할 수 있습니다. 그렇게한다면 동일한 소스 트리에있는 Visual Studio 버전으로 빌드 할 수 있어야합니다.

vs2010 사본을 지점으로 취급해야합니다. 며칠마다 및 주요 변경 (물론 보류중인 테스트 통과)이 다른 지점으로 변경됩니다. 이것은 엔터프라이즈 소프트웨어 환경에서 널리 채택되고 받아 들여진 관행입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top