title: Why are there .sln, .suo and .csproj files?
body: <p>I began to use Visual Studio 2010. After I'm done with the C# program, I see that there are <code>.sln</code>, and <code>.suo</code> files in the project root directory, and a <code>.csproj</code> file in the subdirectory. What are those files for? </p>
  
  <p>I need to identify the files to put into a Git repository. Together with the source code/documents that I create, I guess those three files are the only one that I have to take care of. However, I'm not sure if I'm tracking the correct files.</p>
  
  <h2>ADDED</h2>
  
  <p>How about the personal macro files? I have the <a href="https://stackoverflow.com/questions/3082836/visual-studio-2008-smoothly-switch-between-emacs-and-default-keybindings">Emacs key switch macro</a>, does the <code>.sln</code> file or <code>.csproj</code> file have this macro?</p>