Checkin Policy not working after upgrading to VS 2015 - tfs

We are running VS2013, along with VSTS for source control. We have a checkin policy that enforces a checkin Comment and for the user to assign a Work Item(s) to the checkin. This has been working fine as expected for a while.
Recently, I got one of the developers to test VS2015 Update 1. He is now reporting to me that the checkin policy doesn't seem to work properly; even though he correctly adds a Comment and assigns a Work Item for the checkin, the system doesn't seem to recognise them and it gives a 'policy failure' warning like this:
Is this a known bug with VS2015? Or some sort of compatibility issue upgrading from 2013 to 2105?

Install 2015 Power Tools on the client PC. Your Power Tools version has to match your Visual Studio Client.

In the past years, we also had to update our check in policies, from 2013 to 2015.
Here is somethings you may check.
Recompile your CheckInPolicy project updating Visual Studio Assemblies references:
Microsoft.TeamFoundation.Client;
Microsoft.TeamFoundation.VersionControl.Client;
Register your Policies:
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0_Config\TeamFoundation\SourceControl\Checkin Policies]
"YourCheckInPolicies"="PathToYourCheckInPolicies.dll"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\TeamFoundation\SourceControl\Checkin Policies]
"YourCheckInPolicies"="PathToYourCheckInPolicies.dll"
Hope it helps.
Regards,
Wilsade

The company I'm working at changed our PCs and we had the same problem when we needed to install VS.NET 2015 for some old projects.
I simply copied the below directory's content (from an old PC where policies worked) and placed it in the same directory, in the new PC.
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer
If the directory Team Explorer doesn't exists, create it manually and put the content into it.
OBS: When I did it, I already had VS.NET 2015 Power Tools installed.
So, try to solve it with these two steps:
Install Power Tools to VS.NET 2015 as mentioned in the other answers.
Copy necessary DLLs files to Team Explorer directory. I made a copy of them here.
This was my registry after installed Powetools, and because of that I tried to paste files manually... I got lucky. It worked.

Related

ProvisioningImportEventsCallback in TFS 2017(on-prem) when importing work item type definition

I'm trying to import modified WITs to a existing project. But, It was showing the below error:
Microsoft.TeamFoundation.WorkItemTracking.Server.ProvisioningImportEventsCallback
Earlier it was working fine. But, now the issue started.
What could be the possible solution for this? I just wanted to upload WITs through Command prompt(witadmin.exe) only. Any hints/information would help
From your description, you are trying to use VS 2015 to connect to TFS 2017. Please check documentation Import, export, and manage work item types:
If you are connecting to TFS, you must use the same version of Visual
Studio or Team Explorer as TFS. For example, if you connect to a TFS
2017 instance, you must connect from Visual Studio 2017 or Team
Explorer 2017.
TFS 2018 and TFS 2017
Visual Studio 2017 or Team Explorer 2017 client:
%programfiles(x86)%\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer
or, TeamExplorer, Professional or Enterprise in place of
Community, depending on the version you've installed.
You should install VS 2017 or Team Explorer 2017 to run this command. Although VS 2015 could run witadmin command against TFS 2017 sometimes, there would have unexpected issue.
However, I found the solution for this issue by myself.
Clear the Team Foundation cache from your server and the user system from the below path:
C:\Users\\AppData\Local\Microsoft\Team Foundation\7.0 (or 6.0)\cache
Delete everything from the cache folder and restart the server\system. Then Login to the server. Now, you won't get any error for uploading [WITs] using command prompt.
Follow the procedures as given in Microsoft Site.
https://learn.microsoft.com/en-us/vsts/work/customize/reference/witadmin/witadmin-import-export-manage-wits?view=tfs-2018

Internal error in Changeset Comments Policy after updating VS2015 to Update 1

Everything was fine about an hour ago, when i tried to checkin something, the policy friendly reminded me to "provide a comment for the check-in". Then I installed VS2015 Update 1, like some of my colleagues did, and after that, i receive the following error message when trying to check something in:
Internal error in Changeset Comments Policy. Error loading the Changeset Comments Policy policy (The policy assembly 'Microsoft.TeamFoundation.PowerTools.CheckinPolicies.ChangesetComments, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' is not registered.). Installation instructions: To install this policy, follow the instructions in CheckForComments.cs.
My colleagues, of course, don't. As far as i know since VS2012 there is no need to install any version of the Power Tools anymore, so why does this happen? Additionally I also have VS2013 installed, where i do NOT get that error message, that version is working perfectly. Anyone having any idea where i need to look?
Okay, i got it. Somehow the installation messed something up. On my machine the folder
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation
was pretty empty, where my colleagues had a junction there, leading to this folder
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\XXXXXXX
where XXXXXX obviously varies from machine to machine. To find the correct one, go to the extensions folder (one up) and look for the one that contains "Microsoft.TeamFoundation.Build.Controls.dll" and some other Teamfoundation dlls, then open an elevated command prompt and create the missing junction like so:
mklink /j "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer" "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\XXXXXX"
(watch out, you need to replace the XXXXX with the folder name on your machine)
- NOTE: Please dont forget to RESTART Visual Studio after doing this change in order to start cheking in seamlessly.
The suggested answer didn't work for me on VS 2015. I already had the junction, yet I was seeing the error.
https://devblogs.microsoft.com/buckh/internal-error-loading-the-changeset-comments-checkin-policy/ pointed me to this:
Cause
With VS 2005 through 2010, to get the Changeset Comments policy,
you had to download and install the Team Foundation Power Tools.
and I had to download and install Microsoft Visual Studio Team Foundation Server 2015 Power Tools.
It's available within VS here:
Visual Studio 2015 > Tools > Extensions and Updates:
VS needs to be restarted after this.

What am I doing wrong - problems building using TFS 2012

I am trying to get the most basic configuration of TFS 2012 up and running.
So far I installed the TFS server using the simplest option (the 1st option in the installer - the one that comes with a bundled SQL express),
I configured the build service (1 controller, 1 agent, both on the TFS machine).
My project consists of 2 parts: a C#/silverlight part, and a C++ part.
After adding the silverlight prerequisites the C# project builds correctly.
However I can't get the C++ project to build.
I guess I am missing a prerequisite since I am getting the following errors:
C:\Builds\1\proj1\Client\src\Code\Client\proj\main (VC11).vcxproj
(19): The imported project "C:\Program Files
(x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was
not found. Confirm that the path in the declaration is
correct, and that the file exists on disk.
Indeed, the TFS server does not have a "C:\Program Files (x86)\MSBuild\Microsoft.Cpp" folder (while my dev machine has one).
I installed the windows SDK, but that didn't help.
I saw on some posts that I need to install VS 2012 on the build machine. Is that correct? will VS express do?
I have been banging my head on this for the last 2 days, and any help would be appreciated.
Installing Visual Studio on your build server seems like a strange thing to do, but having been around the TFS block a bit, I have found it to be the simplest way to manage build servers.
You can copy the files manually from your dev machine to your build server, but if an update to visual studio comes out, you will need to figure out what has changed and make sure you update all those files too. These files typically include Targets files and associated dlls.
Also with all the extensions and packages that are available now, it is just easier to load Visual Studio on your build server and install the required packages than try to work out what is needed to replicate the functionality.
This was made very clear to me recently when Microsoft released ASP.Net and Web Tools 2012.2. This altered the publishing pipeline for Web Sites and Web Projects and I needed to use this in my TFS build. It was so much easier to just be able to log onto my build server, load Visual Studio and download the new update.
I would definitely support installing Visual Studio on your build server.

TF30279: Plug-in with ID "Microsoft.ProjectCreationWizard.Build" of type "Project Creation Plugins" could not be loaded

When attempting to create a new TFS Team Project from VS2012 I received the following error after pressing finish.
TF30279: Plug-in with ID "Microsoft.ProjectCreationWizard.Build" of type "Project Creation Plugins" could not be loaded
TFS and VS were both installed on a Windows 7 laptop for evaluation. When setting up TFS I configured the build server without error.
In attempting to get round the problem I uninstalled all 2012 components VS, TFS and Sql Server, then reinstalled them. I tried both TFS express and VS2012 for web express and full TFS trial and VS2012 premium trial (to rule out that it wasn't an issue with the express versions)
Each time the error would persist across re-installs.
Although I could not find why the problem has occurred I did eventually manage to fix the issue after reading up on process templates and understanding where the plugin models were sourced from.
1) I opened VS2012 command prompt and ran as admin
2) changed dir to %programfiles%\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer
3) ran gacutil /i for each dll in the folder that looked like it was anything to do with build.

TFS Build is failing Because of Missing Programs

I am trying to build a project using TFS2010 Build.TFS resides on its own server, and i am trying to build to a directory on the same machine. The Server does not have VS2010 installed on it.
When the build runs it fails and gives me this error:
c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (1558): Task failed because "AxImp.exe" was not found, or the correct Microsoft Windows SDK is not installed. The task is looking for "AxImp.exe" in the "bin" subdirectory beneath the location specified in the InstallationFolder value of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A. You may be able to solve the problem by doing one of the following: 1) Install the Microsoft Windows SDK. 2) Install Visual Studio 2010. 3) Manually set the above registry key to the correct location. 4) Pass the correct location into the "ToolPath" parameter of the task.
Then I get a whole bunch of errors saying the namespaces of the project I am building cannot be found. I am not sure if that is all linked to the above mentioned error however.
Thank You!
It is recommended to have Visual Studio 2010 installed on your build machine but it is not a requirement. Since the error message indicates that it didn't find AxImp.exe, can you verify if this file exists on the build machine? The location is C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin (if you're on a 64-bit Windows).
If the file doesn't exist, installing .NET Framework SDK will probably help to resolve that specific error.
Regarding installing Visual Studio on the build machine, Visual Studio is licensed per user, not per machine, so as long as the build machine owner is licensed, you should not need extra license for Visual Studio. But you probably should look at the licensing papers for your edition of Visual Studio 2010 to make sure.
Here's a table in the white paper on licensing:
You need to have the same software running on the build server as you would if building locally. This means you need Visual Studio 2010, and possibly even the same edition of Visual Studio 2010, depending on what you're trying to build.
IMPORTANT REMINDER: Visual Studio is licensed PER USER. This means that as long as you as a user have a license, you can use that SAME LICENSE on your build Machine.
The only "problem" would be if you actually had "No licenses" - meaning you do not own a copy of Visual Studio at all, but have a legal copy of TFS.

Resources