我有一个包含4个项目的解决方案。
每次启动Visual Studio 2017社区(15.6.2)并加载解决方案时,它会在第一个项目(Ananas)中加载时挂起。
我可以坐下来等待加载30分钟或更长时间,但进度条会保持动画效果。我必须彻底杀死Visual Studio才能阻止它。
如果我然后删除解决方案文件夹,并从我已经存放的备份存档中重新解压缩并重新加载它,它会在第一次加载而不会挂起。但是当我关闭解决方案时,关闭Visual Studio,重新启动并再次加载它,它会再次开始挂起。
答案 0 :(得分:0)
尝试在管理员模式下打开Visual Studio。
答案 1 :(得分:0)
Visual Studio解决方案文件中有许多不同的guid。
根据我对@ samirg的回答:
第一个Guid Project("{ <GUID> }")
是.net项目类型,第二个Guid ".csproj", "{ <GUID> }"
是唯一的项目标识符。您不应该更改第一个,但可以将第二个设置为唯一ID。
Visual Studio生成两者,第一个是您在创建新项目时选择的项目类型,第二个唯一标识该项目。
在.net项目系统repo README.md中可以看到你有新旧项目指南的混合
https://github.com/dotnet/project-system/blob/master/docs/opening-with-new-project-system.md
项目类型guid(此时现在每种语言有2个)告诉Visual Studio将项目视为旧的或新的项目类型。
FAE04EC0-301F-11D3-BF4B-00C04F79EFBC
是旧 C#项目指南。
9A19103F-16F7-4668-BE54-9A1E7A4F7556
是新 C#项目指南。
既然你有两者兼而有之,我会把所有旧的guid改为新的guid,以保持解决方案行为的一致性。
新的VS2017项目系统有一个bunch of benefits。
答案 2 :(得分:0)
我遇到了同样的问题,并且从解决方案目录中删除了隐藏的.vs文件夹,从而解决了该问题。
答案 3 :(得分:-1)
如果您检查解决方案(SLN)文件,您可能会发现两个或多个项目的重复GUID。请参阅下面的示例。
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ananas", "Ananas\Ananas.csproj", "{F16C0F09-8509-4370-B4FF-C6E1C1C27C31}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bananas", "Bananas\Bananas.csproj", "{9D7771AE-8A04-438E-858A-7DBD42025BF4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cherries", "Cherries\Cherries.csproj", "{91FB0CB7-5DC1-4B86-B33C-F22BE6A11CF2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dewberries", "Dewberries\Dewberries.csproj", "{424ABA82-B745-4376-8A52-632B9016608E}"
EndProject
正如您所看到的,第一个和最后一个项目具有相同的GUID,并且中间的两个项目也具有相同的GUID。您需要做的是生成有效的GUID以区分冲突的项目。这样,你得到类似下面的内容。
Project("{2CD1389C-9B3D-41E9-9AC4-FB6402671C81}") = "Ananas", "Ananas\Ananas.csproj", "{F16C0F09-8509-4370-B4FF-C6E1C1C27C31}"
EndProject
Project("{73ED998E-CD14-48E9-8193-A60F496F9CD7}") = "Bananas", "Bananas\Bananas.csproj", "{9D7771AE-8A04-438E-858A-7DBD42025BF4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cherries", "Cherries\Cherries.csproj", "{91FB0CB7-5DC1-4B86-B33C-F22BE6A11CF2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dewberries", "Dewberries\Dewberries.csproj", "{424ABA82-B745-4376-8A52-632B9016608E}"
EndProject
要生成有效的GUID,我建议您使用在线工具,例如Online GUID Generator。