5

MSDN を調べましたが、見つかりませんでした。.vcproj ファイル
の XML スキーマが見つかりました。 しかし、私が本当に欲しいのは、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>

しかし、その 1 つの質問に答えた後、さらに 10000 の質問があると確信しています。したがって、.vcproj を直接編集できるリファレンスが必要です。

誰でも提案できますか?

EDIT : MS が文書化していなくても、各要素に意味があります。リストまたは要約を知っている人はいますか?

4

4 に答える 4

2

Microsoftはこのフォーマットを文書化するつもりはないのではないかと思います。Microsoftは過去に、文書化された機能とフォーマットには、場合によっては桁違いの作業が必要であると述べています。

フォーマットが文書化されていない場合、それはMicrosoftがそのように望んでいるためです。すべてのドキュメントは、分析とリバースエンジニアリングによって作成されます。

于 2009-08-23T19:22:05.857 に答える
2

これが何のために必要なのかわからないので、関係があるかもしれないし関係ないかもしれませんが、Visual Studio 2010 は .vcproj 形式を廃止する予定です。;)

彼らは、MSBuild に基づく .vcxproj に切り替えています。(そのため、完全に文書化される予定です)

したがって、少なくとも長期的には、それをターゲットにする方が簡単かもしれません.

GUID に関しては、それぞれが一意である必要があると思います。それらの間に関係はないと思います (2 つの要素が同じ GUID を持つことはありません)。

Microsoft は、すべてに独自の GUID を与えることを好みます。いつ必要になるかわかりません!;)

于 2009-08-23T21:33:56.137 に答える
1

.vcproj のすべての要素は文書化されています。つまり、VS オートメーション インターフェイスの DevStudio ドキュメントにはプロジェクト オブジェクト/プロパティが記述されており、プロジェクト オブジェクト/プロパティは xml 要素/属性に直接マップされます。

于 2009-08-23T23:44:33.610 に答える
0

CMakeの非常に古いバージョンでの問題を覚えていると思いますが、UniqueIdentifierそれらは適切に一意ではありませんでした。私が正しければ、問題は修正されておりuniqueIdentifier、GUID である必要があります。

申し訳ありませんが、これ以上お役に立てません。私はcmakeに移行しましたが、vcprojファイルをいじる必要はありません。それらは私のために生成されています。

CMakeサイトには、すべてのリバース エンジニアリングが既に行われている必要がある vc プロジェクト ファイルのジェネレーターがあるため、おそらくCMakeサイトで詳細を見つけることができます。

于 2009-08-23T21:37:23.990 に答える