Block Check-In auf politisches Versagen

Habe ich die check-in-Politik aus diesem MSDN-Artikel als ein Beispiel (code einfach kopieren /einfügen).

Dieser funktioniert einwandfrei, es erscheint, wenn ich versuchen und machen Sie einen check-in, jedoch erscheint es als eine Warnung. Also ich kann es ignorieren, werden durch drücken der Check-In wieder. Wie kann ich den code ändern, wie aufgeführt in der URL, so dass es einen Fehler zurück, nicht auf eine Warnung. Ich kann nicht sehen, alle Eigenschaften auf PolicyFailure, dies zu tun.

Im Grunde möchte ich es, zu schauen, wie die Fehler in diesem screenshot:
Block Check-In auf politisches Versagen

Bild-Quelle

EDIT: Hier ist der genaue code, den ich verwende. Nun, es ist etwas abgewandelt von der ursprünglichen Quelle, aber nicht in einer massiven Art, wie ich es nie gedacht hätte. Leider kann ich nicht posten screenshots, aber ich ' ll versuchen und beschreiben Sie alles, was ich getan habe.

Also ich habe eine DLL aus dem code unten, habe ich es in einen Ordner auf C:\TFS\CheckInComments.dll. Ich habe einen registry-key unter " Checkin-Policies mit dem Pfad zu der DLL, die Zeichenfolge name ist der gleiche wie meiner DLL (minus .dll). In meinem Projekt-Einstellungen unter Kontrolle der Quellcodeverwaltung, die ich Hinzugefügt habe diese Check-In-Richtlinie.

Es scheint alles gut zu funktionieren, wenn ich versuchen und machen Sie einen check-in es wird eine Warnung angezeigt, sagen "Bitte geben Sie einige Kommentare über Ihre check-in", das ist das, was ich erwarte, was ich möchte, ist für Sie es zu beenden Sie den check-in, ob alle Richtlinien sind nicht erfüllt, jedoch würde ich noch gerne die Benutzer werden in der Lage, wählen Sie Überschreiben, falls erforderlich. Im moment, auch wenn es eine Warnung, wenn ich klicken Sie auf die Schaltfläche "Einchecken", dann würde es erfolgreich check-in-code.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.TeamFoundation.VersionControl.Client;

namespace CheckInComments
{
    [Serializable]
    public class CheckInComments : PolicyBase
    {
        public override string Description
       {
            get
            { 
                return "Remind users to add meaningful comments to their checkins";

            }
        }

        public override string InstallationInstructions
        { 
            get { return "To install this policy, read InstallInstructions.txt"; } 
        }

        public override string Type
        {
            get { return "Check for Comments Policy"; }
        }


        public override string TypeDescription
        {
            get
            {
                return "This policy will prompt the user to decide whether or not they should be allowed to check in";
            }
        }

        public override bool Edit(IPolicyEditArgs args)
        {

            return true;
        }


        public override PolicyFailure[] Evaluate()
        {
            string proposedComment = PendingCheckin.PendingChanges.Comment;
            if (String.IsNullOrEmpty(proposedComment))
            {
                PolicyFailure failure = new PolicyFailure("Please provide some comments about your check-in", this);
                failure.Activate();

                return new PolicyFailure[1]
                {
                    failure
                };
            }
            else
            {
                return new PolicyFailure[0];
            }
        }

        public override void Activate(PolicyFailure failure)
        {
            MessageBox.Show("Please provide comments for your check-in.", "How to fix your policy failure");
        }

        public override void DisplayHelp(PolicyFailure failure)
        {
            MessageBox.Show("This policy helps you to remember to add comments to your check-ins", "Prompt Policy Help");
        }
    }
}
  • Können Sie fügen Sie Ihren code und ein screenshot von dem, was Sie sehen, step-by-step?
  • Ich habe Hinzugefügt, weitere Informationen. Bitte lassen Sie mich wissen, wenn Sie mehr fordern.
InformationsquelleAutor MattR | 2015-02-27
Schreibe einen Kommentar