I suppose that maybe what made me ask this question is, that every time I do a commit in Git the .sln files comes up whenever there were changes. So, as a person who reviews all my changes when I do a commit I tend to look at the solution file as well (just observing what projects may have been added, or maybe configuration changes). I think that after a while I just got curious. Also, I guess I started thinking about how portable one of these solutions might be (if it was written in a practical language like the .csproj or .vbproj files).

I suppose that this won't affect me in any sort of way, like I said I am just curious. So, what language (if any) are Visual Studio solutions written in? Here is an off-hand example of what the inside of a solution looks-like (taken from MSDN):

Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Project1", "Project1.vbproj", "{8CDD8387-B905-44A8-B5D5-07BB50E05BEA}"
  GlobalSection(SolutionNotes) = postSolution
  GlobalSection(SolutionConfiguration) = preSolution
       ConfigName.0 = Debug
       ConfigName.1 = Release
  GlobalSection(ProjectDependencies) = postSolution
  GlobalSection(ProjectConfiguration) = postSolution
   {8CDD8387-B905-44A8-B5D5-07BB50E05BEA}.Debug.ActiveCfg = Debug|x86
   {8CDD8387-B905-44A8-B5D5-07BB50E05BEA}.Debug.Build.0 = Debug|x86
   {8CDD8387-B905-44A8-B5D5-07BB50E05BEA}.Release.ActiveCfg = Release|x86
   {8CDD8387-B905-44A8-B5D5-07BB50E05BEA}.Release.Build.0 = Release|x86
  GlobalSection(ExtensibilityGlobals) = postSolution
  GlobalSection(ExtensibilityAddIns) = postSolution

I've read the MSDN documentation and also the Visual Studio Wikipedia page where solutions are discussed, but can find no mention of what syntax or language it is that the solutions are represented as.

  • 9
    They're written in Visual Studio Solution File Language. No, really. It says right at the top of one of my solution files: "Microsoft Visual Studio Solution File, Format Version 12.00" – Robert Harvey Jun 21 '16 at 13:57
  • @RobertHarvey Ok, so because they say Format Version 12.00 you think that means they are talking about the language used in the file? – Snoop Jun 21 '16 at 14:00
  • 2
    If you're referring to a programming language, I'm pretty sure that's not Turing Complete. This is a configuration file; vendors are free to write their configuration files in whatever format they want to. Nothing obligates them to any sort of standard. If you're wondering why it's not in something standard like XML, it's probably for historical reasons. Note that they do use XML for CSPROJ files. – Robert Harvey Jun 21 '16 at 14:03
  • @RobertHarvey Yeah I did notice that they were using XML in the .csproj files, which also made me wonder about what the solution files were written in. Thanks. – Snoop Jun 21 '16 at 14:07
  • 1
    The format version simply relates to the version of Visual Studio. An incomplete list can be found here – Robbie Dee Jun 21 '16 at 14:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.