【问题标题】:GUIDs in a SLN fileSLN 文件中的 GUID
【发布时间】:2008-09-09 22:23:36
【问题描述】:

Visual Studio 解决方案文件包含每个项目条目的两个 GUID。我认为其中之一来自 AssemblyInfo.cs

有谁知道这些来自哪里,它们的用途是什么?

【问题讨论】:

  • 任何带有完整源代码示例的最终解决方案?

标签: .net visual-studio solution


【解决方案1】:

这两个 GUID 都与 AssemblyInfo.cs 中的 GUID 不同(即程序集本身的 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

【讨论】:

  • 在 C# 中对 sln 文件进行任何解析吗?可惜sln文件不是XML格式。 @JasonOlson
  • 第一个 GUID 标识项目类型,正如这里(简要)提到的那样——msdn.microsoft.com/en-us/library/bb165951(v=vs.90).aspx。另请参阅 mztools.com/Articles/2008/MZ2008017.aspx 以获取项目类型列表。 (我仍然想知道解决方案文件夹是否有特殊的 guid ......)
  • 感谢@yoyo 的链接。文件夹 GUID 似乎是 {2150E333-8FDC-42A3-9474-1A3956D46DE8}。
【解决方案2】:

According to MSDN

[Project] 语句包含 唯一的项目 GUID 和项目 键入 GUID。此信息由 寻找项目的环境 文件或属于 解决方案,以及所需的 VSPackage 对于每个项目。项目 GUID 是 传递给 IVsProjectFactory 以加载 与 项目,然后项目被加载 VSPackage。

【讨论】:

    猜你喜欢
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多