用于Visual Studio解决方案文件的项目GUID是什么?

时间:2010-02-24 15:37:51

标签: visual-studio guid projects-and-solutions uuid

我在一个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,以便它们是唯一的以及它们用于什么?

5 个答案:

答案 0 :(得分:58)

解决方案文件中的项目持久性块具有以下格式:

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

因此,预计第一个GUID是非唯一的,它唯一地标识处理此类项目的Visual Studio包。

您发布的GUID很有意思 - 它看起来像是错误的C#项目GUID,即FAE04EC0-301F-11D3-BF4B-00C04F79EFBC。您是自己更改还是发布问题(例如,您使用的是从右到左的语言环境,例如希伯来语或阿拉伯语)。

答案 1 :(得分:19)

我经常复制一个VS项目文件,重命名它并搜索并替换所有出现的项目名称,以创建一个具有相同设置的新项目。这通常比创建新项目更快,然后确保所有设置都正确。我忽略了GUID。在将项目添加到解决方案后,我将在保存项目后立即更改GUID。

我做了很多DLL / C / C ++开发,多年来我一直偏离标准项目设置(特别是在优化,代码生成等方面),我发现复制技术更快,更可靠。建立一个项目。

答案 2 :(得分:10)

第一个guid是项目类型。项目类型guid可以在这里找到...

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

答案 3 :(得分:3)

csproj文件中的项目guid应该是唯一的。根据我的经验,如果两个csproj文件包含在同一个解决方案中,Visual studio会自动重新生成其中一个guid。

答案 4 :(得分:1)

明智之道:如果制作XBOX360 XNA 4.0项目并尝试此技巧,不要使用VS 2012生成的guid 。在VS2010中生成一个,使用

或者,当您尝试在XNA Game Studio Connect中运行重新编写项目时,您将收到以下错误。

  

“这个游戏丢失或损坏,等等等等,重启XNA Game Studio Connect?”

然后它会轰炸。 VS 2010 guids工作正常。我不明白为什么。