Can anyone recommend a source control solution for Visual Studio? I am going to be the only person using it, I just need something to back up my data every so often or before I undertake a big change in the software. I tried AnkhSVN, but this requires an SVN server. Is there anything that can be used locally that takes the pain out of copying solution folders manually?
With Subversion you can create local, file-system-based repositories for single-user access.
Probably the easiest way to use subversion (on windows) is to install TortoiseSVN. To create a repository, you simply create an empty folder in the location where you want the repository to be, right click that folder and select "TortoiseSVN -> Create repository here".
It is even possible (but not recommended) to create such a repository on a network share.
You can then access local repositories using a file-URL e.g: file:///D:/Projects/MyRepository
If you later find out that you need a server (e.g. to give other users access to the repository), you can easily install svnserve on a server and move the local repository to that server.
Just for completeness: as others have noted, there are several good clients for subversion (personally I'm using mainly TortoiseSVN and AnkhSVN):
the subversion command line binaries
TortoiseSVN (free, integrated into windows explorer)
VSFileExplorer (free, gives you an explorer view inside Visual Studio and a allows you to access TortoiseSVN from there)
AnkhSVN (free, integrated into Visual Studio)
VisualSVN (commercial, integrated into Visual Studio)
VisualSVN Server (free, a SVN server with a nice GUI)
Funny nobody mentioned Git just yet. Granted, it does have a learning curve, but I've been using it successfully within Visual Studio for the past year. Both commandline and with a GUI (GitExtensions).
Download Git for Windows from here.
Since it is a DVCS, it doesn't need a server. You can work against your local repositories publishing them to the world when needed (check out Github).
You can use AnkhSVN (or any other SVN client) without a server. Just create a repository on your local disk and then point your working copy to it using a URL like file:///C:/Repositories/repo.
AnkhSVN has improved a lot, but I prefer VisualSVN myself. I think its interface is a little easier to work with (especially if you're used to TortoiseSVN, which it is based on) and it will handle things like automatically setting your build folders as ignored. It is commercial, but it is inexpensive.
You can use Mercurial. It's free, fast and easy to use.
I use it for my personal projects.
VisualSVN can operate without SVN server/
SVN is the way to go. I would look at using the VisualSVN plugin rather than anksvn as it is much more modern and worth every penny.
In a similar situation I'd go download and install Git Extensions. That's all.
That gives you a world-class revision control system (the same one used for the Linux kernel), integrated into Visual Studio and Windows Explorer. No server is required. However, it is fairly easy to set one up later if you want one.
I'm pretty sure that you can create a local repository with Tortoise SVN and use it with ankhSVN without a server.
I use Bazaar with Visual Studio. It does not have Visual Studio integration but it is easy enough to issue commands from the command prompt in a separate console.
You can use Dropbox with SVN, which is free. Sign up for one here. If you didn't like that first article, here's another one. You can pretty much google SVN Dropbox and you'll get all the information you need if these two posts are missing anything.
The advantage of using a Dropbox over local SVN is that you'll be able to get to your dropbox from anywhere, as opposed to only being able to SVN while at home.
They are a lot of cheep or free (for small teams) hosted source code control system. So if you wish to advoid running your own server rathern then not use a server at all, you should look at them.
Related
I want to build a setup file that contain windows form application that is connected to sql server how can I do that? I want to put the .net framework and sql server in the setup package how can I do that? do I need sql server or sql express in this case? I want to create the database in the installation process how can I do this? I want to check If the requirements are already installed how can I do this? hw can I improve the security of the program from stealing?? please help thanks
note my English language not good enough Smile | :)
That is a lot more than one question, and not easy to answer all at once. Anyway, assuming you're using Visual Studio 2012, you can try creating a new Install Shield project (below).
(It might be easier to help you once you've tried something, and have got a more specific question/problem)
For my projects I use Inno Setup. It lets you customize all aspects of the installer - add/remove different screens, set conditions for installing different files, for example you can check out whether SQL server is installed and install it only if it is not through scripting. Take a look at the FAQ page for more information about the features this tool offers.
There's also a sample Inno Setup file at CodePlex, that should get the job done. I haven't tried it though, so I cannot guarantee whether it works fine or not.
If you want to have installer for tomorrow, than good choice will be WIX (http://wix.sourceforge.net/). It is easy to understand and have a possibility of checking installed frameworks and OS version.
If you wish to have Framework msi installer inside yours, than you can check Wix Bootsrapper. But as far as I know it has poor flexibility to setup install steps. For this propose you can combine Wix with other for example NSIS. You can create application installer by using Wix and Bootsrapper application, which will contains your application MSI and Framework MSI, by using NSIS.
To create database during installation you also can use WIX. You need to create database generation plan, which will contain queries for creating database. This generation plan can be executed as part of the installation process (http://wix.tramontana.co.hu/tutorial/sql/creating-a-database). It is good choice wile you don't need additional information from user. In other case you will need to create custom UI.
From my experience with built in Visual Studio install tools, they're all horrible.
I highly recommend Advanced Installer. It's a very powerful tool to create installers and patches for your software. It should have all the features you need in the free version, including checking for prerequisites such as .NET Framework on the user's machine, and installing things when needed.
I manage a small project for a client I want to be able to start using SVN to give a better service from multiple computers, I would like a SAAS solution as the project is to small to ask for a dedicated server in my client's company.
What is the best SVN hosting service/VS2010 plugin you recommend
Thank you
PS. Other ideas for a solution of my problem are welcome I am new to this way of working (SVN)
AnkhSVN is a good, free and popular plugin. I use it all the time with VS2010, and I'm very happy with it. I also use TortoiseSVN outside of Visual Studio.
VisualSVN is also very popular.
Subversion hosting can be found from many hosting providers, either seperately or as past of a web hosting package. Check out these similar questions:
Looking for Hosted Subversion and Visual Studio plug in combo
Hosted subversion recommendations or suggestions
https://stackoverflow.com/questions/297153/can-you-recommend-a-svn-closed-source-project-hosting-site
I use the Agent SVN plug-in with the Subversion file protocol repository and I works well for me.
I have been using VisualSVN and been very happy with it, or at least as happy as any Subversion user can expect to be. It builds on top of the TortoiseSVN explorer plugin, and does support more advanced stuff like dragging files around inside Visual Studio.
That said, I'd strongly advise you to consider Git or Mercurial instead of Subversion. They don't as easily mess up your local workspace, allow you to commit partial work without interfering with everybody else, and easier sharing through repository cloning and greatly improved merging of changes. If this sounds interesting I'd recommend bitbucket or GitHub as good online source control providers.
Tool support for Visual Studio is almost as good as for Subversion and have a lot more momentum so I'd expect them to catch up pretty soon.
I would recommend Codesion from CollabNet as hosting service, and AnkhSVN (open source) as Visual Studio plugin. Although I prefer to use TortoiseSVN as svn client, even if it not integrated to Visual Studio.
I personally use http://www.projectlocker.com/ for SVN hosting. Its free for small projects, easy to set up, and has always worked well for me. I believe it also allows 3 users and 3 active projects, as opposed to 1 of each like a lot of other free hosts.
I've used http://ankhsvn.open.collab.net/ in the past because in integrates with VS2010, but lately I've switched to explorer integration with http://tortoisesvn.tigris.org/
No reason why really, just personal preference.
I would recommend Assembla. It's free private hosting for small teams. And ankhsvn as VS plug-in.
The TortoiseSVN works well for me.
I have an application depending on the Google Data API SDK (which are .dll's).
When I publish the application (Debug > Build Solution), my EXE-file only works on another computer when I copy the references in the same directory which I have included in my Visual Studio project.
The application is querying my Google Calendar for the current event, so I want to be able to run it from a memory stick.
Is there a solution so I can include those DLL's in one single EXE (make it kind of portable?).
Thank you so much!
You could potentially use ilmerge to do this. However, I don't know what the ramifications of this are in terms of licensing, particularly if you're going to distribute the app.
I would personally vote for keeping them separate, and just deploying them next to each other (whether in an installer or on a memory stick).
Most of the libraries Google provides are open-source and hosted on Google Code. This means you can download the source code and include it in the same project as the .exe project. That eliminates the need to have references to other dlls.
Here is the link to the .Net Google Code project. You'll need svn to check out the latest source code. The svn command is here:
svn checkout http://google-gdata.googlecode.com/svn/trunk/ google-gdata-read-only
I'm using the latest Visual Studio 2010, with C# 3.5 and my project is working fine on my machine.
I'm using SQLite for the database, and it's just a little .db file.
What's the best way for me to package this simple little application?
What is the preferred way to create a project that's setup for deployment?
I'm assuming that your app is to be run on a desktop - if that's not the case you'll have to clarify.
You need to add a setup & deployment project to your solution and configure it to install the build output from your application as well as whatever content you want (ie: your .db file) onto the end user's machine.
The process is fairly straightforward and there are TONS of tutorials online -- Google is your friend for nitty gritty details.
You can always use NSIS (from Nullsoft). Free and really a pleasure to work with. It comes with samples and tutorials and you will find a lot of info on Google.
You can deploy your app in a few minutes if you don't want too much installer customization.
I have developed a small desktop application in c#(using windows forms). For this project I need mysql, MySql.Data.dll and some property files...
I am ready with my project but I need to burn it on a disk(with Autorun express).
when I run that cd
It should ask me to check whether the system has mysql installed in it or not,if not installed already then it should install now in the specified location
run some database scripts to generate database and relationships and constraints
and finally it should copy my .exe file on to the hard disk (specified location).
Thanks,
srini.
It sounds like you're trying to use autorun to kick off an installer. Take a look at the built-in Installer project in Visual Studio, or take a look at WiX.
"Check whether the system has mysql"
To validate whether the machine you
has MySql, you'll need to define
what you're looking for. As for most
products, you can find them in the
registry. I'm not sure where MySql
puts that info.
"Run some database scripts"
You can kick off a custom action that will
properly install the database.
"Copy my .exe file"
Specify where you want the installer to put your
executable and other binaries
(MySql.Data.dll).
NSIS is another good choice for an installer. I used that one pretty extensively, and am using WiX on my current project mostly just to try a different approach. The one included with Vistual Studio 2005 is very buggy, but I have not tried the included ones for Visual Studio 2008 and later.
NSIS and WiX follow very different approaches for creating the installer file. You may find one or the other easier for you to understand. Both seem to have pretty active communities that will help if you get stuck (or ask here of course).