Question about Visual Studio *.sln file format -
i using text editor manually edit *.sln file. confused following lines:
project("{fae04ec0-301f-11d3-bf4b-00c04f79efbc}") = "test2008", "tools\test2008\test2008\test2008.csproj", "{00b5ebb2-fda5-4b23-bdc5-27e9f82e7c69}" projectsection(projectdependencies) = postproject {82b9bec0-c9cc-4423-b54f-61e3c4af53d8} = {82b9bec0-c9cc-4423-b54f-61e3c4af53d8} endprojectsection endproject what's point of
{82b9bec0-c9cc-4423-b54f-61e3c4af53d8} = {82b9bec0-c9cc-4423-b54f-61e3c4af53d8}
statement? looks totally superfluous.
it seems redundant syntax 1 of quirks required msbuild recognize project's dependency:
it appears visual studio keeps dependencies in 2 ways, 1 of read msbuild. see because still can specify dependencies in gui, copy solution other machine , build vs in correct order. -victor sergienko
as why "superfluous equation statement" required, seems assigning project's guid own guid workaround issue msbuild 4.0 causes msbuild not recognize or respond project dependencies listed in solution (.sln) file, or build dependencies out of order.
the screwed "{x}={x}" syntax you're asking variation of standard msbuild syntax referencing project (i.e. example @sergio's answer).
apparently, embedding dependency declaration in projectsection block in conjunction self-named dependency guid causes msbuild change build order of depended-upon project, doesn't add reference it.
there's discussion on microsoft connect wherein workaround discussed. in it, dan microsoft suggests cleaner workaround msbuild glitch in 2nd post on page, , mentions fix you're asking about:
that fixes ordering, libraryproject wait on codegeneratingproject, build otherwise not affected. can tidy removing dependency in solution file - removing these lines, unnecessary:
projectsection(projectdependencies) = postproject {b79ce0b0-565b-4bc5-8d28-8463a05f0edc} = {b79ce0b0-565b-4bc5-8d28-8463a05f0edc} endprojectsection and still works fine.
Comments
Post a Comment