Файлы Visual Studio Solution содержат два идентификатора GUID для каждого проекта. Я считаю, что один из них из AssemblyInfo.cs
Кто-нибудь знает наверняка, откуда они взялись, и для чего они используются?
Файлы Visual Studio Solution содержат два идентификатора GUID для каждого проекта. Я считаю, что один из них из AssemblyInfo.cs
Кто-нибудь знает наверняка, откуда они взялись, и для чего они используются?
Ни один GUID не совпадает с GUID, как из AssemblyInfo.cs(это GUID для самой сборки, не связанный с Visual Studio, а конечный продукт сборки).
Итак, для типичной строки в sln файле (откройте .sln в блокноте или редакторе выбора, если вы хотите это увидеть):
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleSandbox", "ConsoleSandbox\ConsoleSandbox.csproj", "{55A1FD06-FB00-4F8A-9153-C432357F5CAC}"
Второй GUID - уникальный GUID для самого проекта. Файл решения использует это для сопоставления других настроек с этим проектом:
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{55A1FD06-FB00-4F8A-9153-C432357F5CAC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{55A1FD06-FB00-4F8A-9153-C432357F5CAC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{55A1FD06-FB00-4F8A-9153-C432357F5CAC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{55A1FD06-FB00-4F8A-9153-C432357F5CAC}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
Первый GUID на самом деле является GUID, который является уникальным GUID для самого решения (я считаю). Если у вас есть решение с несколькими проектами, вы увидите что-то вроде следующего:
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleSandbox", "ConsoleSandbox\ConsoleSandbox.csproj", "{55A1FD06-FB00-4F8A-9153-C432357F5CAC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Composite", "..\CompositeWPF\Source\CAL\Composite\Composite.csproj", "{77138947-1D13-4E22-AEE0-5D0DD046CA34}"
EndProject
[Оператор
Project
] содержит уникальный GUID проекта и проект тип GUID. Эта информация используется окружающая среда, чтобы найти проект файла или файлов, принадлежащих решение, и требуется VSPackage для каждого проекта. GUID проекта передан в IVsProjectFactory для загрузки конкретный VSPackage, связанный с проекта, то проект загружается VSPackage.