2012-02-10 12 views
2

私は他の人からいくつかのプロジェクトを受けました。 (彼はこのプロジェクトを変換しました) 私のデモプロジェクトから&のプロジェクトファイルを貼り付けたようです。Visual Studioプロジェクト:Duplicated Project Guids

変換されたプロジェクトはすべて同じプロジェクトGUIDを持ちます。これは間違いなく良いことではありません。 しかし、いくつかのプロジェクトが同じGUIDを持っているとどうなりますか? TFSや他の場所にエラーが発生することはありますか?

どうすれば修正できますか?最も簡単な解決策は、複製されたGUIDを新しく作成されたGUID(GU内のGUIDツールをGUid.NewGuid()経由で作成)に置き換えることです。 しかし、それほど簡単ではないと思います。このguidは他の場所から参照される可能性があります。

プロジェクトGUIDは何を使用していますか?私はそれがソリューションファイルで使用されていることを知っています。そして他の場所?溶液中の

答えて

2

プロジェクトがそうのように定義されています。

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

unique project GUIDニーズは、プロジェクトごとに一意である一方でproject type GUIDは、すべてのプロジェクトで同じになります。

これは、ビルド構成を示すためにソリューションファイルで使用されるため、重要です。

理論的にはGUID自体を置き換えることができますが、ソリューションからプロジェクトを削除して再度追加するのが最善の方法です。

+0

はい。重複したGUIDは、(通常)一意のGUIDです。プロジェクトはさまざまなソリューションにありますが、これは他のものに影響を与える可能性があると私は懸念しています。 (特に、重複したGUIDを手作業で置き換えた場合)、この変更が何か他のものを害する可能性が排除されます。このユニークなGUIDはソリューション以外のもので使用されていますか? – user437899

+1

いいえ、一意のGUIDは特定のソリューションのコンテキストでのみ意味があります。唯一の目的は、特定の設定をプロジェクト名とは独立してプロジェクトにマップすることです。 異なるソリューションのプロジェクトで同じGUIDを共有するのは問題ではありません。 –

+0

同じマシンに両方のプロジェクトをインストールしようとし、GUIDが衝突するまで... –

関連する問題