Вопрос

Файлы решений Visual Studio содержат два 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

Другие советы

Согласно MSDN:

[Тотсамый Project] инструкция содержит уникальный GUID проекта и тип GUID проекта .Эта информация используется средой для поиска проекта файла или файлов, принадлежащих решению и требуемого пакета VSPackage для каждого проекта.GUID проекта передается в IVsProjectFactory для загрузки конкретного VSPackage, связанного с проектом, затем проект загружается с помощью VSPackage.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top