我在哪里可以找到.vcproj文件结构的参考?

时间:2009-08-23 18:52:06

标签: c++ visual-studio vcproj

我在MSDN上查看,找不到它。
我找到了XML Schema for the .vcproj file,这很不错 但我真正想要的是对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>

但是在我回答了一个问题之后,我确信我还会有10000个问题。所以我想要一个参考,允许我直接编辑.vcproj。

有人可以建议吗?

编辑:即使MS没有记录,每个元素 都有意义。有谁知道列表或摘要?

4 个答案:

答案 0 :(得分:2)

我怀疑微软并不打算将格式化为文档格式。微软过去曾声明,在某些情况下,记录的功能和格式需要更多的工作量。

如果没有记录格式,那是因为微软希望这样。任何文档都将通过分析和逆向工程。

答案 1 :(得分:2)

我不知道你需要什么,所以这可能相关或不相关,但Visual Studio 2010将放弃.vcproj格式。 ;)

他们正在切换到.vcxproj,它基于MSBuild。 (因此,也将完整记录)

因此,至少从长远来看,目标可能更容易。

对于GUID,我相信每一个都必须是独一无二的。我不认为它们之间有任何关系(两个元素永远不应该有相同的GUID)。

微软只喜欢给它自己的GUID。你永远不知道什么时候你会需要它! ;)

答案 2 :(得分:1)

.vcproj中的所有元素都有记录,即VS Automation接口的DevStudio文档描述项目对象/属性,项目对象/属性直接映射到xml元素/属性。

答案 3 :(得分:0)

我想我记得CMake的一个非常旧的版本与UniqueIdentifier有关的一个问题,它们并不是唯一的。如果我是正确的,问题就解决了,uniqueIdentifier应该是GUID。

抱歉,我无法提供更多帮助。我转移到cmake,现在我不必乱用vcproj文件,它们是为我生成的。

您可以在CMake站点上找到更多信息,因为他们有一个vc项目文件的生成器,他们必须已完成所有逆向工程。