2009-08-23 1 views
5

MSDN에서 찾았습니다. 찾을 수 없습니다.
XML Schema for the .vcproj file을 찾았습니다.
하지만 실제로 원하는 것은 vcproj 파일의 각 요소에 대한 설명입니다..vcproj 파일 구조에 대한 참조는 어디에서 찾을 수 있습니까?

내 앞의 질문은 VisualStudioProject/Files/Filter 요소의 UniqueIdentifier 특성의 중요성은 무엇입니까? 프로젝트간에 소스 파일의 UUID가 동일합니까? 또는 전 세계적으로 독보적입니까?

<VisualStudioProject> 
    ... 
    <Files> 
     <Filter 
     Name="Source Files" 
     Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" 
     UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" 
     > 
     <File ... /> 
      ... 
     </Filter> 
     <Filter 
     Name="Header Files" 
     Filter="h;hpp;hxx;hm;inl;inc;xsd" 
     UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" 
     > 
     <File ... /> 
      ... 
     </Filter> 
     <Filter 
     Name="Resource Files" 
     Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" 
     UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" 
     > 
     <File ... /> 
      ... 
     </Filter> 
    </Files> 
    <Globals> 
    </Globals> 
</VisualStudioProject> 

그러나 그 한 가지 질문에 답한 후에 나는 더 많은 것을 가질 것입니다. 그래서 나는 .vcproj를 직접 편집 할 수있는 참조를 원한다.

누구든지 제안 할 수 있습니까?

편집 : MS는 그것을 문서화하지 않더라도 각 요소 는 의미를 가지고있다. 누구든지 목록이나 요약을 알고 있습니까?

+0

팀 블로그를 읽으면 시각적 스튜디오 2010에서 더 좋아질 것입니다. 변경 사항을 알려줍니다. 나는 당신이 대답을 여기에서 얻지 않는 경우에 MS 공개 토론에서 이것을 요구할 것입니다. – Rick

답변

2

Microsoft는이 형식을 문서화 된 형식으로 만들지 않으려한다고 생각합니다. Microsoft는 과거에 문서화 된 기능 및 형식에는 경우에 따라 더 많은 작업이 필요하다고 명시 해 왔습니다.

형식이 문서화되지 않은 경우 Microsoft에서 그렇게하기를 원하기 때문입니다. 모든 문서는 분석 및 리버스 엔지니어링을 통해 제공됩니다.

+0

MS가 형식을 문서화하지 않았다고 믿을 수 있습니다. 하지만 그것은 XML입니다. 누구든지 분석 및 리버스 엔지니어링을 어디에서 실시 했습니까? – Cheeso

+0

XML 노드 이름은 프로젝트의 설정 관리자/속성 페이지에있는 옵션과 거의 일치합니다. 그것을 알아 내기 위해 로켓 수술을해서는 안됩니다. –

2

당신이 무엇을 필요로하는지 모르겠으므로 관련이있을 수도 있고 그렇지 않을 수도 있지만 Visual Studio 2010은 .vcproj 형식을 버릴 것입니다. ;)

MSBuild를 기반으로하는 .vcxproj로 전환 중입니다. (그리고 그만큼, 완전히 문서화 될 것입니다.)

적어도 장기적으로는 목표를 정하기가 더 쉽습니다.

GUID는 각자 고유해야한다고 생각합니다. 나는 그들 사이에 어떤 관계도 없다고 생각한다 (두 요소는 결코 같은 GUID를 가져서는 안된다).

Microsoft는 모든 것을 자체 GUID로 제공하기를 좋아합니다. 언제 네가 필요할 지 결코 알지 못해! ;)

+0

프로젝트 파일이 변경 될 것이라는 것을 알고 있지만 VS2010 예산이 없습니다. "소스 파일"(컬렉션)에는 GUID가 있고 "헤더 파일"에는 GUID가 있고 "리소스 파일"에는 GUID가 있으며 프로젝트 전체에서 동일한 GUID로 나타납니다. – Cheeso

0

실제로는 CMake의 구형 버전이 UniqueIdentifier과 관련이 있다고 생각합니다. 제대로 작동하지 않았다고 생각합니다. 문제가 해결되면 uniqueIdentifier은 GUID 여야합니다.

죄송합니다. 더 도움이되지 못합니다. 나는 cmake로 옮겼고 이제 vcproj 파일을 망칠 필요가 없다. 그들은 나를 위해 생성된다.

CMake 사이트에 대한 자세한 정보는 이미 모든 리버스 엔지니어링을 완료 했어야하는 vc 프로젝트 파일 용 생성기가있을 수 있습니다.

+0

QT에는 QT에서 정의한 .pro 파일의 vc 프로젝트 파일 용 생성기 (qmake)가 있습니다. – metdos

1

.vcproj의 모든 요소가 문서화되어 있습니다. 즉, VS 자동화 인터페이스의 DevStudio 문서는 프로젝트 개체/속성을 설명하고 프로젝트 개체/속성은 XML 요소/속성에 직접 매핑됩니다.

+0

감사합니다. 감사합니다. – Cheeso