Visual Studio 项目:重复的项目 GUID

3

我收到了别人的一些项目。(他将这些项目进行了转换) 看起来他是从我的演示项目中复制并粘贴了项目文件。

现在,所有转换后的项目都具有相同的项目GUID。这绝对不好。 但是如果某些项目具有相同的GUID会发生什么? TFS或其他地方会出现错误吗?

那我该怎么办呢?最简单的解决方案是用新创建的Guid替换重复的Guid(通过VS中的Create GUID-Tool工具或使用Guid.NewGuid()方法)。 但我认为这并不容易。这些Guid可能被引用到其他地方。

项目GUID有何作用?我知道它在解决方案文件中被使用。还有其他地方吗?

1个回答

4

解决方案中的项目定义如下:

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

项目类型GUID对于所有项目来说都是相同的,而唯一项目GUID需要每个项目都是唯一的。

这很重要,因为它在解决方案文件中用于指示构建配置。

理论上您“可以”自己替换GUID,但最好的方法是将项目从解决方案中删除并重新添加。


是的。重复的 GUID 是(通常)唯一的 GUID。这些项目位于不同的解决方案中,但我担心这可能会对其他事情产生影响。(特别是如果我手动替换重复的 GUID)我无法排除这种更改会损害其他东西的可能性。这个唯一的 GUID 是否被用于解决方案之外的其他东西? - user437899
1
不,唯一的GUID只有在特定解决方案的上下文中才有意义。它的唯一目的是将某些设置映射到项目,而不受项目名称的影响。因此,在不同解决方案中共享相同GUID的项目并不是问题。 - Stefan Z Camilleri
1
直到您尝试在同一台计算机上安装这两个项目,而GUID发生冲突... - Michael Paulukonis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接