Which files in a Visual C# Studio project don't need to be versioned?
Solution 1
Dont include
bin
obj
*.suo
*.user
_Resharper*
(if you have Resharper)
Include
*.sln
*.csproj
You can also check the .gitignore file for visual studio projects on github.
Solution 2
.csproj defines the project structure. It is vital.
This is what I add to my global ignore list in Tortoise SVN:
*.suo *.user bin obj *.pdb *.cache *_svn *.svn *.suo *.user *.build-res TestResults _ReSharper*
Solution 3
Shouldn't be versioned:
- .csproj.user is the user's project file settings (e.g. startup project)
- .suo is the user's solution file settings
Should be versioned:
- .sln is the solution file itself (what projects it contains etc)
- .csproj is the project file
I'm not sure about "contentproj" but it sounds like it's a project file which should be under svn.
Solution 4
The .sln file defines your solution together with the .proj files (one for each project), so keep them in your svn!
You can skip the .suo file (personal settings - binary anyway) as well as the bin or obj folders. Also the .cache files can be left.
Solution 5
Just to add, anything that gets regenerated at build time, should be excluded. For example, files generated from the prebuild event or in some cases a custom tool.
Related videos on Youtube
Kai
Updated on December 03, 2020Comments
-
Kai over 3 years
I'm new to Visual C# Studio (actually using the Express edition, but another developer is using the full version), and we are using version control (svn).
It's acceptable to me to add the project files to the repository, since this repo is just for the two of us using Visual C# Studio. But it feels like there are some irrelevant files in there. Can someone familiar with Visual C# Studio project files tell me which files can safely be svn:ignored?
Some suspect files:
- project.csproj
- project.csproj.Debug.cachefile
- project.csproj.user
- project.sln
- project.suo
- Content\Content.contentproj
I'm sure the .sln is required, but what's this .suo? and the .csproj? Can/should any of these be generated by Visual C# Studio on loading a project?
-
mrsheen about 12 yearsThe sln is the solution file, the csproj is the c# project file. You will need both of these files. The suo is the solution user options file and as the name suggests you don't want that file. It just contains user options. Also all .csproj. files can also be ignored.
-
JMD over 10 yearsmsdn.microsoft.com/en-us/library/ee817674.aspx Explicit list from Microsoft there.
-
Sam Harwell over 14 yearsThat's not always the case. Files generated by a SingleFileGenerator, plus designer generated files associated with .xaml, .resx, and forms should be checked in.
-
leppie over 14 yearsThat's exactly why I said some cases.