We are a small development team working mostly on Visual Studio. Until recently, I was working from Office and we were using VSS for version control. Now, as I had to move to my native place, I am hundreds of miles apart from my team and I am using TFS Online to collaborate with the team. As the team is still working on VSS, there is always a problem when merging the codes from two different sources.
So, what I wanted to know is, what do you suggest for us.
Is there any tool that can help us achieve this?
Is it possible for us to use both TFS and VSS as version controls on a single machine for the project, so that a member can get the latest from VSS and checkin into TFS Online and vice-versa ?
Sorry for the naive question if it is, I am a noob.
P.S: Bosses dont want to spend on TFS Online licenses. :)
No it's not possible for the same Project / Solution to have different source control connection.
you could open 2 different solutions . i.e. the original on VSS and the copy on VSOnline and then manualy try and keep both solutions inline, but it would be a MANUAL Process.
As VSS is no longer supported in any way you should use the built in TFS tools to migrate all of your data to TFS on-premises.
Once there you can put TFS on http or https and access if just like VSO.
Related
Is there a way or a tool to force users to write a comment to TFS every time a release of a project is created?
I am searching for something similar to the comments that are input when a file has been checked in to TFS, only for releases instead.
We are having a hard time keeping track of the changes made each time a new release is deployed and I imagine this would be a huge help in keeping track. I am currently using Visual Studio 2012.
What you're looking for is a release management solution, so you can automate and track your software as it's delivered through a pipeline from your dev environments up through to production environments.
You didn't specify what version of TFS you're using, but if you're using TFS 2013 or earlier, you can use the Release Management server. This software is being deprecated, however, so I wouldn't recommend starting out with it now unless you have absolutely no other choice.
In TFS 2015 Update 2, there is a fully integrated release management hub in TFS. This would be the recommended approach.
I have a couple of Projects created in visual basic 6 with oracle databases. I want to upgrade these proejects to visual studio 2012 and use TFS version control. I have read that first I need to upgrade to Visual studio 2008 and then to Visual studio 2012.
Before going ahead with the upgrade ( I need to install Visual studio 2008 as well) I want to make sure this is a realistic approach. So
1. Does converting a vb6 project to VS 2012 ok or I will have to make a lot of changes to make things work?
2. After upgradation would I be able to use TFS for the projects?
TL;DR - yes, you'll need to make lots of changes regardless of how you choose to migrate. TFS question seems irrelevant to me. If you're setup to use TFS for projects, you can use it for these after upgrade as well.
The only reason to consider a 2-step upgrade that includes VS 2008 is that was the last version that included the migration tool built-in (ie, free). As others alluded to, those tools don't make pretty code but a mashup of VB6 and .Net. After trying a few times, I now personally find it simpler and more robust to recreate a new .Net version from scratch, but using the VB6 code as a template. I copy and paste as practical and then do Find/Replace to catch the majority of errors/warnings and then deal with all the others individually. If I have to convert another project, I may use 2008 once just to see what kind of issues the original code had or if there are any unusual situations/controls I'll need to deal with, but I would still start a new 2013 project from scratch. That gives me a better opportunity to improve it as well. You'd be replacing all the connecting code to Oracle anyway. I'd been using OO4O and moved to ODP.NET. If you used 2008, you would have to move to at least 2010 to use the latter in managed mode, which is great not having to load Oracle Client on each machine.
I'd be wary of upgrading VB 6 to VB.net using the automated tools. I did it back in the day (around 2003) when .net was just starting out and my memory is that it wasn't a pleasant experience.
The code produced by the upgrade wizard is a nasty mix of old VB conventions trim, instr and .net conventions. We also had a bunch of weird bugs. Sorry it was a long time ago and I can't remember any details. Only that we did it once for a small number of components, around 6 or 7 activex dll's. That experience was bad enough that we decided it wasn't worth the pain.
We kept the VB 6 code in service until it was re-written as part of a larger push to modernise the codebase.
If you do decide to upgrade then the output is a standard visual studio project that can be source controlled in TFS just like any .net project.
If you reason for upgrading to just to use TFS then take a look at the MSSCCIProvider. This allows you at hook TFS in to the VB6 IDE
I am doing something very similar and did develop a tool to assist with the designer portion of the conversion. It parsers the VB6 file and creates designer code for .NET.
The source is here.
https://github.com/rdejournett/VBtoNET
The only thing I was not able to solve is that controls within tab pages have really wierd X locations like -60000. So I parse those to 0. You'll have to move them to the right place.
I have a project that was created using VS2102 Premium. When a co-worker tries to open it with VS2012 Professional he gets a "Needs migration" message for the project. Is this due to the different flavor of VS2012?
I wouldn't have thought so for most projects, however if you've used some feature of VS Premium that is not present in VS Professional, then I guess this is the response you'll get.
If you open a project from a previous version (eg 2010) then it'll offer to upgrade the solution.
You can manually edit the project, its only an XML file. Create a new blank project to see the structure and then use winmerge or similar to copy relevant lines across.
I am working with a small group of developers; we want the ability to be working on the same project at the same time over the internet. Is there a way to do this? I have read into Team Foundation Server but none of us have been successful in creating actual code files. Any suggestions? We are using Visual Studios 2012, C#.
As I pointed out in my comment, you can use Git or Subversion. I haven't used Visual Studio much lately, but you should be able to integrate Subversion with it pretty easily. I haven't tried Git with Visual Studio, but considering its popularity I bet it integrates rather easily also.
Both of them are means of source control. Subversion is a simpler interface with a smaller learning curve, but Git uses a distributed model and gives you finer control over the history and progress of your project. Git comes with some visualization tools (gitg, gitk, etc.). You can use a client like TortoiseSVN for Subversion.
Both of them support using external tools to compare files/projects (diffs), which is a bonus for most Windows users. You can use something like WinMerge for that.
That should be all you need :)
Does anyone use the MS SharePoint Solution Generator and VSeWSS 1.2 in a multi-developer environment with source safe? We are having issues re-deploying (because it doesn't really upgrade the solution with stsadm). It keeps saying the same feature is already installed - which it is, but it should retract the feature and re-install it - which it doesn't on some machines. Something is messed up with the feature's GUID but we can't find where that might be. One dev will be able to deploy and re-deploy but then the next dev won't. Where does VSeWSS 1.2 change the GUIDs? ARG!!!
We see the nice deployment targets (upgrade, etc) in STSDev but we're reluctant to use STSDev or the other codeplex tools because they are not supported by Microsoft. We have Visual Studio 2005 but not the money to upgrade to VS 2008 to get VSeWSS 1.3 - bummer.
---UPDATE----
I think we found a bug in VSeWSS that other's have commented on: Editing the projects properties resets some feature GUIDs.
It might also be a problem with the scope of the install. How do we get a site definition to install to the FARM scope in VSeWSS 1.2?
Don't worry too much about supported by Microsoft too much. While it is a consideration, the end result of MS SharePoint Solution Generator (terrible) and VSeWSS 1.2 are still SharePoint solutions and all solutions need to contain the same xml.
Could the deployment targets for STSDev be modified to work with your VSeWSS solution? After all, the deployment targets here are just working with STSAdm and a solution file.
In order to avoid the usual "works on my machine" you should set up a build and deployment system. If you are using virtual server or ESX server it should be fairly simply, and cheap as well. You should be able to use open source software all the way if you have more man power then money.
VSeWSS 1.2 and 1.3 store the feature GUID's in files in the /PKG directory of your Visual Studio solution. If you delete these files, or check our project into Source Control without these files and check them out on another machine, you will lose your GUIDs. Sure, VSeWSS will recreate the missing files for you, but it will do so with new GUIDs and new feature names.
A common requirement is to add the /PKG directory to your Visual Studio 2008 project and get it into source control.
You can read more about the files in the /PKG directory in the Release Notes for VSeWSS 1.3 here.
PS: We did some improvements to the Solution Generator in VSeWSS 1.3, but it wont generate a 100% perfect solution for you.