controlling versions in asp.net - asp.net

How to control versioning in asp.net projects?
We are a five member team and looks to use same solution file in asp.net.
I heard of using vss or tortoise svn..
how to use visual source safe or tortoise svn tool or any other tools which has better performance for version controlling.. what are the requirements to set up version controlling.?
thank you

This is a HUGE question! It sounds like you are just learning the very basics of version control. You should start by understanding the basic concepts, then choosing a tool that is relatively easy to setup and learn.
Check out these other StackOverflow posts as a starting point:
Learning Version Control, and learning it well
Learning version control with git first or via SVN?

Do some test projects and try each system before you make a decision:
Do things like:
Setup it up.
Check out a file.
Check in a file.
Do a diff on two versions of a file.
Rollback a file to an earlier version.
This is great work for an intern. Once you start using source control, you'll wonder how you ever managed without it.

Related

Conflict issue when multi developers work on same task

I am a Premium WordPress Theme Developer. During the development process Multiple developer working on same theme simultaneously and it create conflict issue as to make changes one developer enter there codes and update files.Mostly same files are open on other developers pc and when later own they save files the changes of developer 1 become lost and create lots of problems. Is there a better solution to tackle this issue?
Thanks
Most web-developers have probably worked with some sort of revision control system, but designers may find it a foreign concept. The most obvious benefit of using revision control is the ability to have an unlimited number of people working on the same code base, without having to constantly send files back and forth.
Git is the new fast-rising star of version control systems.Git offers a much different type of version control in that it’s a distributed version control system.
Subversion is probably the version control system with the widest adoption. Most open-source projects use Subversion as a repository because other larger projects, such as SourceForge, Apache, Python, Ruby and many others, use it as well. Google Code uses Subversion exclusively to distribute code.
https://www.atlassian.com/git/tutorials/what-is-version-control/

What should a .NET developer know about MSBuild?

95% of my time I program ASP.NET (MVC) web sites.
Should I care about MSBuild?
We use MSBuild with CruiseControl.Net to manage the builds of most of our big ASP.NET projects. For every commit of one member of the team, a build is launched. It helps us detect
quickely incompatibilities before moving a feature to "staging" or "production".
I think it is really usefull when working with a team on the same ASP.NET project or if you are working alone on a big project.
That depends on your development environment.
If you have other folks that do deployment of your systems, and they take care of the build and deployment environment, then MSBuild probably won't be necessary for your work.
On the other hand, if you need to configure the build script to understand special situations that your code comes up with, then you will definitely need to understand MSBuild scripts.
Even for a one-man shop, it's a useful tool to know, especially if you are configuring a continuous integration server like Hudson.
No. Until you have to.
Its not absolutely necessary to know MS Build, but it is useful to know.
It might not be needed for all kind of projects, but it is extremely useful when you are working on a huge code base with automated custom build solution/ nightly build/developer builds so on and so forth.
It's unlikely, unless you choose to use it, or you start to make use of Team Foundation Server's Team Build.
Your development processes need to get to a certain complexity before automated builds really deliver their true value and/or if you find need for automatic deployment (including database changes if applicable).
The coming Visual Studio 2010 is going to make it far easier to use, but for now it retains a fairly steep learning curve which you can avoid by using alternatives, or commercial products (e.g. Visual Build Pro, Final Builder etc).
The nice thing is that it is part of the .Net framework, so it's already available as long as you have the framework installed (which it probably is).
So, in short, not really. It's something very useful and powerful though, setting up deployments using MSBuild can be very, very useful.
What should a developer know about MsBuild?
Every developer should know it exists and it's basic capabilities. If know it exists you won't duplicate its features and will know what it can do for you, when you need it.
Minimum:
As an exercise, build your project through the command line: msbuild myproj.sln
Know the role of continuous integration
A little more than minimum:
Hack your csproj (or vbproj) with a message task, so it outputs something during clean.
All done. When you need to know more, you'll figure it out.

ASP.NET - Source control tool for .NET 3.5

I am going to develop my first application (4 members team).I am not aware of source control tool ( Visual
source safe,Tortoise SVN).
My .NET version is 3.5. What is the best source control tool ?
Is CruiseControl a source control tool ?
Definitely avoid Visual Source Safe.
Subversion is probably a safe choice, but you will have to elaborate about your situation (E.g. how big is your team?) to get more specific advice.
Another no vote for Visual Source Safe here.
Might be an idea to get familiar with subversion as - just as others mentioned - it's widely adopted, so might be useful in the future and simply works..oh and it's free too!
TortoiseSVN integrates into the windows explorer and is both easy to use and well documented so I would give it a try.
If it's a small project of yours and you don't want to worry about hosting, I would recommend signing up for a free account at something like beanstalk, to keep it safe, without any hassle.
But if it's your first ever project, it might just give you too many additional things to learn about, so you might want to put it aside for a while.
Try GIT, it's much lighter weight than svn
http://sourceforge.net/projects/gitextensions/
you can use a local repository for just checking in your own work (to keep a history, or to keep a working version before changing everything) Or you can connect to a central repository for enterprise source control.
The company where I work used to use the SVN, Tortoise, Ankh stack but we're using Git now. Plus I use it at home on my on play projects.
(quated part is no more important since you edited your post about team size)
If you are doing some small project on
your own, maybe you shouldn't use code
versioning at all because you probably
don't need it. Code versioning helps
you with central code storage,
multi-person development code merging
(several people working on the same
file and then commit changes) and code
branching to name the most important
ones.
If I were you, and I would be the only
person developing something simple, I
wouldn't use it, because it would also
be a bit of a time-overkill.
But otherwise source control doesn't address technology like .Net framework version. Code control only stores files (with history) and is able to merge text files. Written in whatever language possible.
If you are part of a team I'd suggest using Subversion + TortoiseSVN + AnkhSVN
And No, CruiseControl is not a code versioning system. It's a continuous integration system.
If you have a pure Windows environment then VisualSVN server is a Windows version of SVN server and installs easily and cleanly. You can setup security using Windows usernames and passwords, or SVN usernames and passwords.
You can then use Tortoise to provide integration in Explorer and VisualSVN to provide Visual Studio integration (there's a small cost for VisualSVN) or you could try AnkhSVN if all you want is VS integration and don't want to spend any money. Personally I prefer VisualSVN's integration.
Running a GIT server under Windows is, umm, frankly a pain in the ass, and not a route I'd recommend for beginners. VS integration is also fraught with pain.
As with everyone else I'd say avoid SourceSafe like the plague.
CruiseControl is not a source control system, it's an automated build server. It monitors source control servers looking for changes, then checks everything out, compiles it and runs it through your unit tests, so people know if they've broken the build. Once you have source control up and running it's the next big step towards a better build environment.
Before we start talking about source control, I would like you to consider your actual need for it, if this is to be your first .NET application. Is this your actual first attempt of writing some .NET 3.5 code? If so, I doubt that you need to worry about source control just yet. I would say it's not just a little bit overkill for the first learning projects.
On the other hand, if this is to be your first application that you'll actually sell to someone, it's a completely different matter.
I currently use VisualSVN, an add-in to Visual Studio that lets you do check-in, check-out etc from within the environment. Along with it, I use the free SVN repository service at XP-Dev. It works well for me =)
Your choice of a versioning system does not have to do anything with the .NET version you are using.
I'd vote for Subversion / Tortoise SVN. It's rock-solid, has lots of handy features, widely adopted and free.

a simple .net website source control system?

I work in Visual Studio working on sites mostly myself and occasionally I start on new features for a site and bam a bug pops up on the live site and now I am in the middle of changes and can't post a fix to the bug until everything I started to change is complete.
So I am looking for a nice an simple way to work with this type of situation - any suggestions?
Are you asking for a recommendation of a source control system? SourceGear Vault is free for single users.
I am big fan of subversion. There also plugins for VS to work with subversion repository.
http://subversion.tigris.org/
http://ankhsvn.open.collab.net/
I am in a similar situation and I use Perforce. It is free for up to two users and integrates well with Visual Studio.
Subversion is well supported and has tools for most any environment. It's also mostly straightforward to use, so you should be able to get up and running quickly.
If you need to work on a lot of separate features and bugs at the same time, you might try Mercurial instead. The tooling support is a lot less mature but I find the distributed design to do a better job of merging and facilitating work on separate issues concurrently.
But really, if you aren't using anything currently and aren't sure what your needs are, just choose one that has support in the IDE/tools you use. It will probably be Subversion.

Can you create a setup.exe in qt to install your app on a client computer

I have created a desktop app and now I need to install in on a client's computer.
However, the client would like to have a wizard to install. Like Visual Studio setup project allows you to add an installer.
Does Qt allow you to create an installer or do I need to use a 3rd party installer like InstallShield or Wise?
You should use the Qt Installer Framework :
http://doc.qt.io/qtinstallerframework/ifw-overview.html
I use Inno and like it a lot. I've tried a few others and this one worked well for me. (and free)
You definitely need a third party installer. A few good ones have already been mentioned. If you decide to go with a paid solution bitrock's installer is a perfect choice and they are also Qt centric and their main business is around Qt.
As an open source alternative I would suggest NSIS
If you only target Windows, you can use WiX (Windows Installer XML), which can be integrated into Visual Studio and MSBuild, so relatively easy to use. It's free and produces valid MSI files, which may be a requirement anyway.
If you rather need a simple wizard setup, give InnoSetup a try.
I think better to use a third party software like installshield. They are optimized for the packaging purpose and provide much customizable options.
If you have Visual Studio already, you can continue to use a setup project to distribute your application. The tools are built in. This is the technology that WiX "replaced" (more on that later), and it's what I do. It's not an ideal solution, but it gets me an MSI, which is how Windows software should be installed these days. Using InstallShield or something might be better, but to be honest I've never had a good experience with any third party installers. This is why I just stuck with the less-than-ideal setup project; it beats spending a lot on expensive, ugly and often frustrating third party installer creation tools. In short, it's a very pragmatic solution, and pragmatic solutions make sense.
As for WiX: I really don't recommend it at all. It seems like a great idea, but after a few months I found myself switching back to the setup projects. Even though he's been using WiX for a year more than I have been using setup projects, our WiX expert takes twice as long to get anything done. (He's a terrific programmer, too, just a bit blinded by open source.) You end up with thousands of copied text lines that you need to maintain. With a couple different projects, it becomes an unmaintainable mess.
I would not suggest attempting to build an installer in Qt yourself. In addition to having to get a lot of behavior just right, as a Qt application it will require the Qt libraries. Unless you statically link them, which is possible with the commercial edition (not LGPL) but difficult and not recommended. Plus then you'd be including two copies of the Qt libraries in your download.
Qt itself seems to use the nullsoft installer. That alone should tell you building your own is not a good idea. :)

Resources