Search code examples
.net-6.0csprojvisual-studio-2022

Where does VS2022 net6.0 store the ProjectGuid?


Just starting with VS2022 and the new .csproj format.

In the old format every project had something like this:

Properties\AssemblyInfo.cs
[assembly: Guid("e8151094-eb82-46bd-9809-523d4a4fcfb8")]

I can't figure out where that is stored in the new format. The project obviously has a guid because it is used by the sln file:

{my_solution_name}.sln
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "{my_project_name}", "{my_project_path}", "{1C64FF26-B077-494E-93F2-380D675B668D}"

I have seen a couple articles that suggest there could be <ProjectGuid></ProjectGuid> in the .csproj file, but it isn't there by default when you create a new project, so where it is hiding?

Additional background:

we have an internal tool that basically constructs a large multi-project solution template for when we start a new app. It generates new guids for each of the sub-projects and writes new AssemblyInfo.cs files, then it builds the .sln with all the reference lines. I don't see a clear way to do that with the new .csproj format.


Solution

  • In the new project system the ProjectGuid is no longer required for projects itself and is used in solution file (and is "stored" there).