我在一个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,以便它们是唯一的以及它们用于什么?
答案 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工作正常。我不明白为什么。