web-dev-qa-db-ja.com

Visual StudioソリューションファイルのプロジェクトGUIDは何に使用されますか?

1つのVisual Studio(2008)ソリューションに複数のプロジェクトがあります。
これらのプロジェクトのそれぞれが同じGUIDを使用していることを発見したため、ソリューションファイルでは次のようになります。

Project("{FAE04EC0-F103-D311-BF4B-00C04FCBFE97}") = "Pro1", "Pro1\Pro1.csproj", "{...}"
Project("{FAE04EC0-F103-D311-BF4B-00C04FCBFE97}") = "Pro2", "Pro2\Pro2.csproj", "{...}"

これらのGUIDを一意にするために変更する必要がありますか?

48
Marc

ソリューションファイルのプロジェクト永続性ブロックの形式は次のとおりです。

Project("{project type GUID}") = "<Project name>", "<project file location>", 
    "{<Unique project GUID>}"
EndProject

したがって、最初のGUIDは一意ではなく、このタイプのプロジェクトを処理するVisual Studioパッケージを一意に識別します。

GUIDあなたが投稿したものは興味深い-それはFAE04EC0-301F-11D3-BF4B-00C04F79EFBCであるマングルされたC#プロジェクトGUIDのように見えます。ヘブライ語やアラビア語などの右から左のロケールを使用しています)。

61
Oleg Tkachenko

VSプロジェクトファイルをコピーして名前を変更し、プロジェクト名のすべての出現箇所を検索および置換して、同じ設定で新しいプロジェクトを作成することがよくあります。多くの場合、これは新しいプロジェクトを作成してからすべての設定が正しいことを確認するよりも迅速です。 GUIDを無視します。 VSは、プロジェクトをソリューションに追加した後、プロジェクトを保存するとすぐにGUIDを変更します。

私は多くのDLL/C/C++開発を行っており、長年にわたって(特に最適化、コード生成などに関して)標準プロジェクトの設定から逸脱しています。事業。

19
Tim Ring

最初のGUIDはプロジェクトタイプです。プロジェクトタイプのガイドはこちらにあります...

http://www.codeproject.com/Reference/720512/List-of-Visual-Studio-Project-Type-GUIDs

10
Steve Sheldon

CsprojファイルのプロジェクトGUIDは一意である必要があります。私の経験から、同じソリューションに2つのcsprojファイルが含まれている場合、Visual Studioは自動的にGUIDの1つを再生成します。

3
Ryu

賢明な言葉:XBOX360 XNA 4.0プロジェクトを作成してこのトリックを試す場合、VS 2012によって生成されたGUIDを使用しないでください。 VS2010で生成し、それを使用します

または、XNA Game Studio Connectで再ガイドされたプロジェクトを実行しようとすると、次のエラーが表示されます。

「このゲームが見つからないか破損しています。何とか何とか、XNA Game Studio Connectを再起動しますか?」

そしてそれは爆撃します。 VS 2010のGUIDは正常に機能します。理由はわかりません。

1
twobob