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

Mar*_*arc 52 uuid guid projects-and-solutions visual-studio

我在一个Visual Studio(2008)解决方案中有多个项目.
我刚刚发现每个项目都使用相同的GUID,因此在解决方案文件中它看起来像这样:

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

我是否必须更改这些GUID,以便它们是唯一的以及它们用于什么?

Ole*_*nko 65

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

Project("{project type GUID}") = "<Project name>", "<project file location>", 
    "{<Unique project GUID>}"
EndProject
Run Code Online (Sandbox Code Playgroud)

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

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

  • @Seth你没有?;) (33认同)
  • 你记住GUID? (19认同)
  • @Seth现在有人为我们记住了它们:http://www.codeproject.com/Reference/720512/List-of-Visual-Studio-Project-Type-GUIDs (7认同)
  • 非常感谢Oleg!我自己更改了GUID,因为我认为它在每个解决方案中都是唯一的。我没有比反转其某些值更好的主意了,当然也没有认为这对于C#项目是一个普遍的价值:-) (2认同)
  • 解决方案(sln文件)没有GUID,不是吗?只有项目csproj具有GUID (2认同)

Tim*_*ing 21

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

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

  • 谢谢.编辑XML文件要比记住点击位置,要打开的菜单等要容易得多.文本文件比GUI操作更可重复. (4认同)
  • 您可以使用Project Property Sheets解决大部分问题.将所有优化/代码生成等放在那里,然后在每个项目中包含工作表. (2认同)

Ste*_*don 10

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

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

  • 您也可以在注册表“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\14.0\Projects”中本地找到项目类型 GUID (2认同)

Ryu*_*Ryu 5

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