Dot-Net

SLN 文件中的 GUID

  • November 15, 2018

Visual Studio 解決方案文件包含每個項目條目的兩個 GUID。我認為其中之一來自 AssemblyInfo.cs

有誰確切地知道這些來自哪裡,以及它們的用途?

這兩個 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

引用自:https://stackoverflow.com/questions/53041