views:

91

answers:

4

I've created a Codeplex site for an app I'm building and right now I just right click the entire solution folder Visual C# Express created for me, and used that.

Now in my repo I have a lot files that I'm assuming will enable the user to compile my application on their end.

I heard I shouldn't upload the /obj folder and some other things.

What things are absolutely necesary for me to commit to my repository?

+1  A: 

You need the solution file, the C# project file(s), and all of the code files.

Basically, leave out the .suo file (with the solution), any user specific files (which will have your username appended to them, the bin\ and the obj\ folders. Everything else should be included.

Reed Copsey
There is a Property folder, should I exclude that?
Sergio Tapia
@Papuccino1: No, you shouldn't.
SLaks
You need to have the Property Folder in place - otherwise, you'll lose your AssemblyInfo file, which could be customized. I always include "Properties" in SVN.
Reed Copsey
I also exclude bin, *.csproj.user., *.Publish.xml, (and the web.config file in the case of web apps).
RedFilter
True - the "publish" files should be left out, as well, if its a web app.
Reed Copsey
+7  A: 

You should ignore the following, by setting the svn:ignore property on your project folder:

bin
obj
*.user
*.suo
Michael Hackner
I think it's funny that the highest-voted answer to a question about what to *include* in a repository is an answer about what to *exclude* from a repository. =)
Erik Forbes
The irony did not escape me. I chose to answer in this way because it directly addresses the way SVN works, if not how the question was worded.
Michael Hackner
+1  A: 

It's common practice in organizations I've worked with to also include binary resources to which we don't have the source code and are required for the build in the source control. I'm aware that this is a somewhat controversial practice but it's worked wonders for us. Usually we keep them in a solution-rooted folder named 'Resources' or the like such that they're available for each developer to use when they check out the solution.

Erik Forbes
A: 

If you would use the Standard Edition of Visual Studio you could use the AnkhSVN Plug-In, but in Express this is not possible. :-(

So what you should exclude

folder obj
folder bin
file *.user
file *.ncb

Everything else has to be in your repository.

Oliver