2

We've got a server with Team Foundation Server 2008 installed on it. Clients using Visual Studio 2008 and Visual Studio 2010 connect to it. I've written a custom check-in policy for TFS which is working as expected in VS2010 but not in VS2008.

I originally developed it in VS2010 but had some issues getting it working. To rule out problems with my custom policy, I recreated the Solution and Project in VS2008 (as I had a working sample in VS2008).

Once developed, I then tried setting it in VS2010 but had some issues. I found this posting by Grant Smith (http://connect.microsoft.com/VisualStudio/feedback/details/553740/vs-2008-tfs-checkin-policies-fail-to-load-with-vs-2010) who suggested to change the binding redirects for VS2010. This resolved the problem and policy is now working fine for it.

However, it is not working for VS2008. When I try to check-in any code it says: "TF10139: The following check-in policies have not been satisfied. Internal error in My Custom Checkin Policy".

When I try to change the settings for the policy, it gives me an error saying: "Error loading the My Custom Checkin Policy policy (The policy assembly 'MyCheckinPolicy, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' is not registered.). Installation instructions:".

Even though it says "Installation instructions:" at the end of the error message, nothing else is displayed.

Does anyone know why this may be happening.

TIA

millie
  • 2,642
  • 10
  • 39
  • 58
  • 1
    Based on the last comment from Microsoft in the Connect post that you reference, there seems to be a fundamental compatibility problem with custom policies? – kroonwijk Oct 29 '11 at 21:08

1 Answers1

1

You will likely find that your policy will work with vs2010 if you reference the v10.x.x.x client dlls and vs2008 if you reference the v9.x.x.x dlls.

I have not found a way to have a single policy dll that works with both but I have found that if I compile the dll twice (once for each VS) I can install both dlls on my system and then modify the Checkin Policies registry entry so that each VS points to the correct dll.

Daz Eddy
  • 332
  • 2
  • 15