Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. Visual Basic
  4. Files in a VB.NET project to put under Version control

Files in a VB.NET project to put under Version control

Scheduled Pinned Locked Moved Visual Basic
learningcsharpvisual-studiocollaboration
22 Posts 17 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    cages
    wrote on last edited by
    #1

    I am learning to program in VB.NET(2008 Express) and also learning to use version control software (TortiseSVN). I am creating simple projects with VS while I learn the language(Using the book VB 2008 Step by Step ). I have not been able to determine if I should put all the files in the project directroy under version control and if not what files and folders to exclude. I am not sure what the files in the project directory do, any infomation would really be helpful. eg of contents of project folder. bin (folder) My Project (folder) obj (folder) *.vb *.resx *.vb *.sln *.suo *vbproj *.vbproj.user Thanks cages

    D G S R T 8 Replies Last reply
    0
    • C cages

      I am learning to program in VB.NET(2008 Express) and also learning to use version control software (TortiseSVN). I am creating simple projects with VS while I learn the language(Using the book VB 2008 Step by Step ). I have not been able to determine if I should put all the files in the project directroy under version control and if not what files and folders to exclude. I am not sure what the files in the project directory do, any infomation would really be helpful. eg of contents of project folder. bin (folder) My Project (folder) obj (folder) *.vb *.resx *.vb *.sln *.suo *vbproj *.vbproj.user Thanks cages

      D Offline
      D Offline
      dan sh
      wrote on last edited by
      #2

      There is no need to keep the bin folder and its contents in source control. Same applies to the suo and vbproj.user files. SUO files contain information about IDE settings for the user while .user contain similar information for the corresponding vbproj.

      C 1 Reply Last reply
      0
      • C cages

        I am learning to program in VB.NET(2008 Express) and also learning to use version control software (TortiseSVN). I am creating simple projects with VS while I learn the language(Using the book VB 2008 Step by Step ). I have not been able to determine if I should put all the files in the project directroy under version control and if not what files and folders to exclude. I am not sure what the files in the project directory do, any infomation would really be helpful. eg of contents of project folder. bin (folder) My Project (folder) obj (folder) *.vb *.resx *.vb *.sln *.suo *vbproj *.vbproj.user Thanks cages

        G Offline
        G Offline
        Gregory Gadow
        wrote on last edited by
        #3

        I'm not familiar with TortiseSVN; my shop still uses Visual Source Safe (pray for me.) Our practice is to link the project into version control through VS; in the Solution Explorer, right click on the root object -- either your one project or your solution containing several projects -- and select Add Project to Source Control. It has been a long time since my Visual Studio was configured so I don't remember the process, but that should be easy enough for you to find. I'm pretty sure you can add other versioning databases than just VSS. With Source Safe, adding a project or solution will add the code files, the folders holding code files, and the solution and project files, but not the bin or object folders. Presumably, this is because those tend to change very frequently during development, and can be reconstructed easily by recompiling the code.

        A 1 Reply Last reply
        0
        • G Gregory Gadow

          I'm not familiar with TortiseSVN; my shop still uses Visual Source Safe (pray for me.) Our practice is to link the project into version control through VS; in the Solution Explorer, right click on the root object -- either your one project or your solution containing several projects -- and select Add Project to Source Control. It has been a long time since my Visual Studio was configured so I don't remember the process, but that should be easy enough for you to find. I'm pretty sure you can add other versioning databases than just VSS. With Source Safe, adding a project or solution will add the code files, the folders holding code files, and the solution and project files, but not the bin or object folders. Presumably, this is because those tend to change very frequently during development, and can be reconstructed easily by recompiling the code.

          A Offline
          A Offline
          AspDotNetDev
          wrote on last edited by
          #4

          Gregory.Gadow wrote:

          I'm pretty sure you can add other versioning databases than just VSS.

          If you want subversion integration in Visual Studio, AnkhSVN is one plugin that facilitates this. I personally preferred TortoiseSVN (which is an Explorer shell extension).

          [Forum Guidelines]

          D 1 Reply Last reply
          0
          • A AspDotNetDev

            Gregory.Gadow wrote:

            I'm pretty sure you can add other versioning databases than just VSS.

            If you want subversion integration in Visual Studio, AnkhSVN is one plugin that facilitates this. I personally preferred TortoiseSVN (which is an Explorer shell extension).

            [Forum Guidelines]

            D Offline
            D Offline
            DaveAuld
            wrote on last edited by
            #5

            I have found VisualSVN Server (free) and AnkhSVN plugin (free) a good combination. Free + Free = just how we like it......

            Dave Find Me On: Web|Facebook|Twitter|LinkedIn CPRepWatcher now available as Packaged Chrome Extension, visit my articles for link.

            A K 2 Replies Last reply
            0
            • D dan sh

              There is no need to keep the bin folder and its contents in source control. Same applies to the suo and vbproj.user files. SUO files contain information about IDE settings for the user while .user contain similar information for the corresponding vbproj.

              C Offline
              C Offline
              cages
              wrote on last edited by
              #6

              I will try working on a simple project not including the: obj and bin folders .suo and .vbproj.user files I can't use VisualSVN as I am working with the Express version of VS. Does any one know what files VisualSVN puts under source control? Is there a document that explains the project structure for VB.NET? Thanks, cages

              1 Reply Last reply
              0
              • C cages

                I am learning to program in VB.NET(2008 Express) and also learning to use version control software (TortiseSVN). I am creating simple projects with VS while I learn the language(Using the book VB 2008 Step by Step ). I have not been able to determine if I should put all the files in the project directroy under version control and if not what files and folders to exclude. I am not sure what the files in the project directory do, any infomation would really be helpful. eg of contents of project folder. bin (folder) My Project (folder) obj (folder) *.vb *.resx *.vb *.sln *.suo *vbproj *.vbproj.user Thanks cages

                S Offline
                S Offline
                Stonkie
                wrote on last edited by
                #7

                No need to filter out, you can put everything on the share directory! j/k :p VisualSvn is great for that, it's a shame you can't use it. In C#, you should ignore these (maybe VB.NET has more?) - Solution.suo which contains "solution user options" - Project/bin/ which contains your builds - Project/obj/ which contains temporary files for your builds Also, the typical SVN structure is to have your application files within the "trunk" sub directory. This is useful so you can have another root directory for documentation, installer files, etc. and so you can have branches and tags directories too. On the other hand, I've just switched to "distributed version control", namely Mercurial with TortoiseHg and I strongly recommend everyione that they look into it. I won't try to sell it to you (it's free :doh: ), but if you're changing for a version control system, it probably is the best time for you to evaluate it. Even if you don't go for it, it will help you understand the version control concept in general. And there are many advantages to Mercurial like local commits/branches and a "real" tag feature. Here's an article I read recently (thanks to the CodeProject daily newsletter) about structuring a Git repository (it's the same as Mercurial, but it was designed by some operating system inventor or whatever ;) ) : http://nvie.com/posts/a-successful-git-branching-model/?[^]

                A 1 Reply Last reply
                0
                • C cages

                  I am learning to program in VB.NET(2008 Express) and also learning to use version control software (TortiseSVN). I am creating simple projects with VS while I learn the language(Using the book VB 2008 Step by Step ). I have not been able to determine if I should put all the files in the project directroy under version control and if not what files and folders to exclude. I am not sure what the files in the project directory do, any infomation would really be helpful. eg of contents of project folder. bin (folder) My Project (folder) obj (folder) *.vb *.resx *.vb *.sln *.suo *vbproj *.vbproj.user Thanks cages

                  R Offline
                  R Offline
                  R Erasmus
                  wrote on last edited by
                  #8

                  Hi I would say, preferably the files that doesn't change everytime you re-run an unmodified program. e.g. not files that gets generated by the compiler each time you do a clean build. Regards,

                  1 Reply Last reply
                  0
                  • S Stonkie

                    No need to filter out, you can put everything on the share directory! j/k :p VisualSvn is great for that, it's a shame you can't use it. In C#, you should ignore these (maybe VB.NET has more?) - Solution.suo which contains "solution user options" - Project/bin/ which contains your builds - Project/obj/ which contains temporary files for your builds Also, the typical SVN structure is to have your application files within the "trunk" sub directory. This is useful so you can have another root directory for documentation, installer files, etc. and so you can have branches and tags directories too. On the other hand, I've just switched to "distributed version control", namely Mercurial with TortoiseHg and I strongly recommend everyione that they look into it. I won't try to sell it to you (it's free :doh: ), but if you're changing for a version control system, it probably is the best time for you to evaluate it. Even if you don't go for it, it will help you understand the version control concept in general. And there are many advantages to Mercurial like local commits/branches and a "real" tag feature. Here's an article I read recently (thanks to the CodeProject daily newsletter) about structuring a Git repository (it's the same as Mercurial, but it was designed by some operating system inventor or whatever ;) ) : http://nvie.com/posts/a-successful-git-branching-model/?[^]

                    A Offline
                    A Offline
                    AdamEcc
                    wrote on last edited by
                    #9

                    - Project/bin/ which contains your builds

                    What is the general / advised approach when developing reusable components for later inclusion via SVN externals? Currently we have, e.g. Component x - reusable component Application 1 - application that uses component x Application 2 - application that uses component x In order to get applications 1 & 2 to use component x, we include the bin\* directories in SVN and refer to them in the applications as SVN externals pointing at the bin directories. I'm guessing from the "don't include bin" suggestion that there's a better way of doing this - any suggestions? Bearing in mind that we don't want the applications to recompile the component each time.

                    P 1 Reply Last reply
                    0
                    • C cages

                      I am learning to program in VB.NET(2008 Express) and also learning to use version control software (TortiseSVN). I am creating simple projects with VS while I learn the language(Using the book VB 2008 Step by Step ). I have not been able to determine if I should put all the files in the project directroy under version control and if not what files and folders to exclude. I am not sure what the files in the project directory do, any infomation would really be helpful. eg of contents of project folder. bin (folder) My Project (folder) obj (folder) *.vb *.resx *.vb *.sln *.suo *vbproj *.vbproj.user Thanks cages

                      T Offline
                      T Offline
                      tbim
                      wrote on last edited by
                      #10

                      I agree with the other responses - ignore obj and bin folders and .suo and.user files. I recommend Mercurial, also called Hg, as a good source control solution. It's dead simple. You can install TortoiseHg for GUI and the Explorer integration, and VisualHg for Visual Studio integration (including VS Express?). It can sync to your own hard drive, network drive, private web or ftp, or to a free account on BitBucket. Some say it is easier than Subversion and Git, both of which I've looked into but never used. We currently use Source Safe and I'm evaluating Mercurial and love it so far. But no doubt I would love a good tar and feathering than to continue to work with and trust Source Safe. Do not use Source Safe. Almost anything is better. I read recently that Source Safe is the most dangerous software ever written that was not intentionally designed as a virus. Let's all have a moment of silence for Gregory.Gadow having to use it.

                      Mike

                      1 Reply Last reply
                      0
                      • D DaveAuld

                        I have found VisualSVN Server (free) and AnkhSVN plugin (free) a good combination. Free + Free = just how we like it......

                        Dave Find Me On: Web|Facebook|Twitter|LinkedIn CPRepWatcher now available as Packaged Chrome Extension, visit my articles for link.

                        A Offline
                        A Offline
                        Abrojus
                        wrote on last edited by
                        #11

                        This, Ankh svn plugin for Visual Studio will handle everything for you, you just check out, commit, etc a solution and the plugin will handle everything for you.

                        D 1 Reply Last reply
                        0
                        • C cages

                          I am learning to program in VB.NET(2008 Express) and also learning to use version control software (TortiseSVN). I am creating simple projects with VS while I learn the language(Using the book VB 2008 Step by Step ). I have not been able to determine if I should put all the files in the project directroy under version control and if not what files and folders to exclude. I am not sure what the files in the project directory do, any infomation would really be helpful. eg of contents of project folder. bin (folder) My Project (folder) obj (folder) *.vb *.resx *.vb *.sln *.suo *vbproj *.vbproj.user Thanks cages

                          P Offline
                          P Offline
                          Pete BSC
                          wrote on last edited by
                          #12

                          We use TSVN and VisualSVN. Here is my global ignore pattern, this will prevent listing folders or files when you add them to the repo:

                          */bin */obj *.bak *.*scc *.user *.suo *.webinfo bin obj *.pdb *.exe *.DCS *.zip

                          2 years ago we moved from SoureSafe to SVN that is why I added to ingnore the .scc file.

                          1 Reply Last reply
                          0
                          • A AdamEcc

                            - Project/bin/ which contains your builds

                            What is the general / advised approach when developing reusable components for later inclusion via SVN externals? Currently we have, e.g. Component x - reusable component Application 1 - application that uses component x Application 2 - application that uses component x In order to get applications 1 & 2 to use component x, we include the bin\* directories in SVN and refer to them in the applications as SVN externals pointing at the bin directories. I'm guessing from the "don't include bin" suggestion that there's a better way of doing this - any suggestions? Bearing in mind that we don't want the applications to recompile the component each time.

                            P Offline
                            P Offline
                            p51dfltln
                            wrote on last edited by
                            #13

                            We have a folder called 'Assemblies', into which we copy the generated .dlls when they are ready for consumption. This allows us to make changes (and check them in, so we don't lose our work) without affecting the 'upstream' items. When it is ready for a new 'release', copy the completed bin files into the Assemblies folder. Then, the upstream projects have a References folder, with an entry for each 'subsystem' that needs to be referenced which points to the Assemblies folder for the subsystem. Bin is not stored in our source control. (we are using TortoiseSVN)

                            S 1 Reply Last reply
                            0
                            • A Abrojus

                              This, Ankh svn plugin for Visual Studio will handle everything for you, you just check out, commit, etc a solution and the plugin will handle everything for you.

                              D Offline
                              D Offline
                              Dell Simmons
                              wrote on last edited by
                              #14

                              He's using VS Express, plug-ins are not supported.

                              1 Reply Last reply
                              0
                              • C cages

                                I am learning to program in VB.NET(2008 Express) and also learning to use version control software (TortiseSVN). I am creating simple projects with VS while I learn the language(Using the book VB 2008 Step by Step ). I have not been able to determine if I should put all the files in the project directroy under version control and if not what files and folders to exclude. I am not sure what the files in the project directory do, any infomation would really be helpful. eg of contents of project folder. bin (folder) My Project (folder) obj (folder) *.vb *.resx *.vb *.sln *.suo *vbproj *.vbproj.user Thanks cages

                                P Offline
                                P Offline
                                Peter Trevor
                                wrote on last edited by
                                #15

                                As with so many things: it depends. If you are just doing hobby projects (which it sounds like you are) then excluding the output from compiles (the obj and bin folders) is absolutely fine. However, in a professional setting you may sometimes encounter a discipline called “configuration management”. (This is, essentially, management of the whole software lifecycle and integrates “change management”, “repository management”, “release management”, etc, into a coherent whole.) In configuration management it is common to include the final deliverables (*.exe, *.dll, etc) under version control. The reasoning being that the state of the build machine can have an impact on the final deliverable ... add a patch and the compiler might produce something subtly different. It is also common under configuration management best practices to place documentation (program specs, user guides, operations manuals, etc) under version control too. As general advice I’d say, unless you are short of disk space, if in doubt add it in. Better to have an unnecessary file in the repository than to discover after the fact that you’ve lost the specific version of a key file.

                                J 1 Reply Last reply
                                0
                                • C cages

                                  I am learning to program in VB.NET(2008 Express) and also learning to use version control software (TortiseSVN). I am creating simple projects with VS while I learn the language(Using the book VB 2008 Step by Step ). I have not been able to determine if I should put all the files in the project directroy under version control and if not what files and folders to exclude. I am not sure what the files in the project directory do, any infomation would really be helpful. eg of contents of project folder. bin (folder) My Project (folder) obj (folder) *.vb *.resx *.vb *.sln *.suo *vbproj *.vbproj.user Thanks cages

                                  C Offline
                                  C Offline
                                  CDMTJX
                                  wrote on last edited by
                                  #16

                                  The only bin file to put in would be the .exe or any file it requires to run (.dll?). Think of doing a build / clean before checkin, then add in the few files needed to run your app. (My gang keeps checking in .suo files, they come out read only and screws my ability to build...) Note .sln and .vbproj are required, they're your solution and project files. .vb is your source code. I think .resx is generated by Visual Studio...

                                  P 1 Reply Last reply
                                  0
                                  • P Peter Trevor

                                    As with so many things: it depends. If you are just doing hobby projects (which it sounds like you are) then excluding the output from compiles (the obj and bin folders) is absolutely fine. However, in a professional setting you may sometimes encounter a discipline called “configuration management”. (This is, essentially, management of the whole software lifecycle and integrates “change management”, “repository management”, “release management”, etc, into a coherent whole.) In configuration management it is common to include the final deliverables (*.exe, *.dll, etc) under version control. The reasoning being that the state of the build machine can have an impact on the final deliverable ... add a patch and the compiler might produce something subtly different. It is also common under configuration management best practices to place documentation (program specs, user guides, operations manuals, etc) under version control too. As general advice I’d say, unless you are short of disk space, if in doubt add it in. Better to have an unnecessary file in the repository than to discover after the fact that you’ve lost the specific version of a key file.

                                    J Offline
                                    J Offline
                                    jschell
                                    wrote on last edited by
                                    #17

                                    Peter Trevor wrote:

                                    However, in a professional setting you may sometimes encounter a discipline called “configuration management”. (This is, essentially, management of the whole software lifecycle and integrates “change management”, “repository management”, “release management”, etc, into a coherent whole.) In configuration management it is common to include the final deliverables (*.exe, *.dll, etc) under version control.

                                    However one would then also expect that there would be a process step(s) which is specific to building as well. And it should start with a clean extract. Consequently one would not check in source/proj/etc files at the same time as deliverables.

                                    Peter Trevor wrote:

                                    As general advice I’d say, unless you are short of disk space, if in doubt add it in. Better to have an unnecessary file in the repository than to discover after the fact that you’ve lost the specific version of a key file.

                                    Better to figure out what files are actually required. It becomes obvious with a clean extract.

                                    P 1 Reply Last reply
                                    0
                                    • J jschell

                                      Peter Trevor wrote:

                                      However, in a professional setting you may sometimes encounter a discipline called “configuration management”. (This is, essentially, management of the whole software lifecycle and integrates “change management”, “repository management”, “release management”, etc, into a coherent whole.) In configuration management it is common to include the final deliverables (*.exe, *.dll, etc) under version control.

                                      However one would then also expect that there would be a process step(s) which is specific to building as well. And it should start with a clean extract. Consequently one would not check in source/proj/etc files at the same time as deliverables.

                                      Peter Trevor wrote:

                                      As general advice I’d say, unless you are short of disk space, if in doubt add it in. Better to have an unnecessary file in the repository than to discover after the fact that you’ve lost the specific version of a key file.

                                      Better to figure out what files are actually required. It becomes obvious with a clean extract.

                                      P Offline
                                      P Offline
                                      Peter Trevor
                                      wrote on last edited by
                                      #18

                                      jschell wrote:

                                      However one would then also expect that there would be a process step(s) which is specific to building as well. And it should start with a clean extract.Consequently one would not check in source/proj/etc files at the same time as deliverables.

                                      Quite correct, sorry if that wasn’t clear. Overall in SCM (software configuration management) *final* deliverables are under version control but that does not mean that those deliverables are tracked in interim stages. (Depending on the specifics of the SCM plan being used ‘candidate’ final builds may also be version controlled.) As you point out, candidate final deliverables are usually built from a clean extract (and usually on a clean build machine) after the developer has checked in his changes. I wasn’t trying to explain SCM in detail, merely make the OP aware of its existence.

                                      jschell wrote:

                                      Better to figure out what files are actually required. It becomes obvious with a clean extract.

                                      But if you aren’t following an SCM process it is better to err on the side of caution. Especially if (as is the case with the OP) you aren’t sure what you need to track to begin with ... you can always fine tune by dropping items over time as you gain a better understanding. It’s harder to fine tune the other way.

                                      1 Reply Last reply
                                      0
                                      • C CDMTJX

                                        The only bin file to put in would be the .exe or any file it requires to run (.dll?). Think of doing a build / clean before checkin, then add in the few files needed to run your app. (My gang keeps checking in .suo files, they come out read only and screws my ability to build...) Note .sln and .vbproj are required, they're your solution and project files. .vb is your source code. I think .resx is generated by Visual Studio...

                                        P Offline
                                        P Offline
                                        Peter Trevor
                                        wrote on last edited by
                                        #19

                                        CDMTJX wrote:

                                        I think .resx is generated by Visual Studio...

                                        .resx files are resource files. They can potentially contain images, icons, strings, and other data necessary for your program. If .vb is source code then .resx is source ‘non-code’.

                                        C 1 Reply Last reply
                                        0
                                        • P Peter Trevor

                                          CDMTJX wrote:

                                          I think .resx is generated by Visual Studio...

                                          .resx files are resource files. They can potentially contain images, icons, strings, and other data necessary for your program. If .vb is source code then .resx is source ‘non-code’.

                                          C Offline
                                          C Offline
                                          CDMTJX
                                          wrote on last edited by
                                          #20

                                          Yup, I wasn't clear... VB creates .resx during project editing, not during building. So it is required to build with, not the result of a build, and not edited by programmers (though I've been known to edit such files with C++ and C#...). Check .resx into source control.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups