Upgrade TFS 2010 to 2015 on-premises

Was concerned this was going to be hard work, but turned out better than expected.

Really brief notes:

Install

TFS Server 2015 will install SQL Server 2014 standard

 

Process template upgrades

If the TFS work items intranet console does not work then:

  1. https://msdn.microsoft.com/library/vs/alm/work/customize/add-features-manually#update-processconfig
  2. Download process template
  3. I created .bat files to practice with a less significant project, then moved to main projects. Sample script below. Must be ran as administrator. May be remote to the TFS Server.
    Had to repeat for various work item types

 

cd C:\
set root="%programfiles(x86)%\Microsoft Visual Studio 14.0\Common7\IDE"
cd %root%
pause
witadmin importwitd /collection:http://<server>:8080/tfs/DefaultCollection /p:"<project>" /f:"D:\Users\<user>\Documents\Visual Studio 2015\VS-TFS Process Templates\Agile\WorkItem Tracking\TypeDefinitions\UserStory.xml"
echo Done
pause

 

 

 

 

Advertisements

Change Team Foundation Server – The solution is in a directory mapped to team server …

Scenario

Project was on one TFS Server and you want to move it to another. In this case to visualstudio.com

How did I move the code to a different TFS Server

  1. First unbind the solution projects from the current TFS Server – TODO method
  2. Connected to the new TFS Server
  3. Right-click on Solution – Add solution to source control
    This returned message:
    “Change Team Foundation Server – The solution is in a directory mapped to team server …<the old server>
    Continuing will close the existing team server <the new desired server> and open team server <the old server>. Continue ?
  4. To resolve see steps in: http://support.microsoft.com/kb/957110. I did not do exactly as stated and instead backed up and then edited the VersionConfig.config:
    Note to self: If I get further problems then delete all the files and folders in the Cache as suggested in this web page
  5. Navigate to %userprofile%\AppData\Local\Microsoft\Team Foundation\3.0\Cache\VersionConfig.config
  6. I removed the whole related <ServerInfo> section, which in my case only had one mapped path.
  7. Appears to have resolved the matter

End.

VS TFS Build The working folder .. is already in use by the workspace on computer

I had an earlier issue in previous post for build being unable to edit work items. So I changed the Build Service account in TFS Administration Console, which then gave me a new problem when running a build:

“The working folder .. is already in use by the workspace <workspacename;owner> on computer”

To resolve this I used Visual Studio Command Prompt

tf workspaces /server:http://localhost:8080/tfs /owner:* /format:detailed

I then had problem with the following syntax:

tf workspace /delete /server:http://localhost:8080/tfs 1_1_<name>;”NT AUTHORITY\SYSTEM”

Was not sure if the 1_1_ was ok, but the problem was that the I needed the “NT AUTHORITY\SYSTEM” and I needed it in quotes. After deleting the workspace the world became right again.

http://grumpywookie.wordpress.com/2008/04/02/tfs-workspace-for-another-user/

http://msdn.microsoft.com/en-us/library/y901w7se(v=vs.100).aspx

There is a program Team Foundation Sidekicks 2010, by Attrice Corporation, but in practice I did not need this.

VS TFS The work item cannot be saved because at least one field contains a value that is not allowed

You may get this bug:

  1. if you have a Build > Process > Advanced > Create Work Item on Failure
  2. possibly also if you are checking-in code against work items

This occurs because the account performing the build does not have permission to create/update the work items

To solve this I believe that you

  1. Give the account running the build the correct permission, probably in TFS Adminstration Console > Team Project Collections > <your project>
  2. Either change the account running the build in TFS Administration Console > Build Configuration

 

How to change user credentials for TFS in Visual Studio

Because of some work we were doing I lost my TFS connection. When I logged in again I used the wrong account. I did not know how to connect to a different account. Disconnect and connect took me back to same account.

Solved with thanks to:

http://www.byteblocks.com/post/2010/12/10/How-to-change-user-credentials-for-TFS-in-Visual-Studio.aspx

This had images as well. Text copied here in case link breaks

  • Goto Start > Control Panel on your machine.
  • Click on User Accounts or User Account and Family Safety, depending on your operating system and configuration.
  • Now you should see UI that looks like below. Click on Credentials Manager

Click on the connection you want to modify. Remove from vault. Or Edit worked for me.

 

TFS Preview

I am on my way:

I have set up my account. Created a project. Created users. Download HotFix for VS2010. Connected to TFS from VS2010 on my machine. Added a solution and one project. Created a user story. Checked in the code. Created a build on my machine which is stored on TFS Preview. Started a new build. Build completed OK.

The only thing that has not worked is Home > Activities > “Open new instance of Visual Studio”. Perhaps this only works with VS2012.

The file or directory is corrupt and non-readable. (possibly in Visual Studio and TFS Build broke)

Problem found

<drive>:\<folder> is not accessible    The file or directory is corrupt and non-readable.The file or directory is corrupt and non-readable. The file or directory \<folder> is corrupt and unreadable.    Please Run the Chkdsk utility.

Was causing build to fail. Some how system had created a badly named file RoqteOpsData where the q should have been a u

Resolution

http://support.microsoft.com/kb/176646

Attempt to repair the damaged file, folder or file system index using Chkdsk. To do so, follow these steps:

  1. Click Start, and then click Run.
  2. In the Open box, type chkdsk /f <drive>:,   where <drive> is the letter of the drive on which the damaged file,   folder or file system index exists.
  3. Click OK.

How do I … move projects to a different collection in VS-TFS

After a few years I got to a point of over 40 projects in one solution. Solution explorer required a vertical scroll bar even before expanding any projects.
Some projects are clearly not relevant to the solution or are abstract. I was keeping them in the solution because I wanted to promote abstraction, so wanted to regularly change these projects. Because they are abstract there is an argument to separate them out and potentially use them elsewhere.

I have taken the plunge. And this article is to record how I have done it.

There are other views and procedures on web.
Also in Microsoft Connect there is a request for this feature to be added.

I found the following to work and seemed easier than the other procedures:

  1. Make sure project is loaded in current solution
  2. VS IDE File > Source Control > Change Source Control
  3. Select project to move > Unbind > OK ( this may be reversed by binding again )
  4. In Solution Explorer remove the project
  5. Save all
  6. In Windows Explorer copy the project to the location of the destination collection
  7. Close Visual Studio if ncessary saving the changes to the solution
  8. Open the destination collection
  9. Add the project.
    • If you miss out step 3 then it will not show as to add to source control
    • If you include step 2 then it will show to add to source control
  10. Check-in optionally with a work item
  11. You could potentially keep the project in the original solution and use > File > Source Control > Add project from Source Control
  12. Or more common delete by:
    • > Source Control Explorer > Selecting the folder > Right-click Delete > Check-in
    • This will not delete it from the local folder > so this may be deleted manaully > you may need to close the current solution

TFS Build: Referenced assembly ‘…dll’ targets a different processor than the application

 

For both the application and the referenced library check that the following match

Project > Properties > Compile > Advanced Compile Options > Target CPU ( possibly also the Target Framework )

If difficult to find use the Build explorer > View Log > Next Warning to work out the application project

TFS Build: Could not resolve this reference. Could not locate the assembly ”. Check to make sure the assembly exists on disk.

A TFS Build fails probably after a new reference has been added. Possibly a .exe reference

ERROR
TFS Build: Could not resolve this reference. Could not locate the assembly ‘<name>’. Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors

SOLUTION
In Team Explorer > Builds > Build Explorer > Select broken build and double-click to work out which project did not build
Visual Studio > Projects > Project Dependencies > Select project that is not building > Add the required dependency > Confirm that the Build Order tab now shows this project higher than the project failing to build

Still did not work. Removed and added the reference again and it then worked.
The change in Source Control for the file was that the version no was in the broken version. not in the fixed version. Before here:

After here: