CORRECTIF : Une mise à jour est disponible pour activer la personnalisation d'identification de contrôle pour le modèle d'extension de Test de l'interface utilisateur codé en Visual Studio 2010 SP1

Traductions disponibles Traductions disponibles
Numéro d'article: 2696646 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Une mise à jour est disponible pour Microsoft Visual Studio 2010 Service Pack 1 (SP1). Cette mise à jour ajoute un nouveau modèle d'extension pour permettre la personnalisation de l'identification des contrôles lorsque vous enregistrez et lire les tests d'Automation en utilisant le modèle d'extension de Test de l'interface utilisateur codé dans Visual Studio 2010 SP1. Après avoir appliqué cette mise à jour, la mise en oeuvre d'un nouveau plug-in pour les contrôles personnalisés est beaucoup plus simple et plus simple qu'avant.

Le nouveau modèle d'extension ajoute les classes suivantes :
  • UITechnologyElementProxy.Par exemple comment utiliser cette nouvelle classe, vous pouvez modifier leQueryIDméthode. Cette méthode est répertoriée comme un ensemble de conditions sur le mappage des éléments d'interface utilisateur (UIMap). Vous pouvez utiliser cette nouvelle classe pour ajouter des conditions plus ou pour modifier les conditions existantes. Ces conditions pourraient être attributs Automation supplémentaires. Ou bien, ces conditions pourraient être utilisées pour ajouter des informations de hiérarchie plus disponibles pour les fichiers UIMap existants.
  • UITechnologyManagerProxy. Vous pouvez utiliser cette nouvelle classe pour inscrire votre gestionnaire de la technologie avec le Gestionnaire de la technologie proxy.

Pour plus d'informations sur l'utilisation de ces nouvelles classes après avoir appliqué cette mise à jour, consultez les scénarios dans la section « Plus informations ».

Plus d'informations

Scénarios

Scénario 1

Vous essayez de tester un contrôle personnalisé à l'aide de la recherche codée UI test tout va bien sauf pour un ou deux problèmes mineurs tels que les modifications dans le rectangle englobant d'un contrôle personnalisé ou la substitution de la méthode GetHashCode . Avec le précédent modèle d'extension, vous pouvez écrire un plug-in pour résoudre ce problème et substituer la méthode envisagée. Mais en même temps, vous devrez substituer plusieurs autres méthodes pour rendre le travail du plug-in, et il peut prendre des jours à stabiliser. En utilisant le modèle d'extension, vous pouvez faire le même travail en substituant les méthodes seulement prévus.

Scénario 2

Vous développez un contrôle personnalisé et vérifiez que le Test de l'interface utilisateur codé n'automatise pas les actions du contrôle personnalisé. Par exemple, le Test de l'interface utilisateur codé seule lecture arrière coordonne clique. À l'aide de ces nouvelles classes, vous pouvez implémenter le modèle d'extension pour personnaliser les propriétés de recherche d'un contrôle pour automatiser ses actions en utilisant le Test de l'interface utilisateur codé dans les neuf étapes simples qui suivent.

Microsoft fournit des exemples de programmation à titre d'illustration uniquement, sans garantie expresse ou implicite. Cela sous-entend, sans toutefois être exhaustif, un processus opérationnel pour des circonstances d'utilisation particulières. Cet article suppose que vous êtes familiarisé avec le langage de programmation présenté ainsi qu'avec les outils utilisés pour créer et déboguer les procédures. Ingénieurs du support technique Microsoft peuvent vous expliquer la fonctionnalité d'une procédure particulière. Toutefois, ils ne changera pas ces exemples pour fournir des fonctionnalités supplémentaires ou créer des procédures répondant à vos besoins spécifiques.
  1. Passer la propriété d'identification du contrôle via une propriété utile du type AccessibleObject telles que la propriété Description ou de l'aide . De même, passer les autres valeurs de propriété sous forme de chaîne séparées par des délimiteurs dans la propriété AccessibleObject , comme dans l'exemple suivant :

    public override string Description
    {
        get
        {
            return "<custom_property_value1>"+";"+"<custom_property_value2>";
        }
    }

    Remarque : C'est juste une méthode pour passer des paramètres supplémentaires pour le Test de l'interface utilisateur codé. Si vous avez plusieurs propriétés qui doivent être exposées, vous pouvez également passer des propriétés personnalisées à l'aide de l'approche d'injection de code. Une approche consisterait à utiliser un canal WCF entre le Test de l'interface utilisateur codé et l'application réelle. Le canal peut servir à transmettre les propriétés qui sont nécessaires pour identifier les contrôles ou effectuer une validation de base des contrôles à l'aide des propriétés personnalisées. Une autre méthode pour passer des propriétés est à l'aide de Messages Windows. Vous pouvez décider de la méthode appropriée, selon vos besoins.

  2. Indiquez le nom de la technologie personnalisée dans le UITechnologyManagerProxyclasse et responsable des technologies principales correspondantes nom afin que le cadre d'extension de Test de l'interface utilisateur codé peut faire l'enregistrement proxy interne en conséquence.

    Remarque : Actuellement, les plug-ins tiers ne peut pas utiliser le même nom de la technologie comme les noms de technologie de Test de l'interface utilisateur codé core. En outre, les différents noms de plug-in tiers ne peut pas entrer en conflit. Bien que le plug-in est chargé par le Gestionnaire d'extensions, le Gestionnaire de plug-in de Test de l'interface utilisateur codé ne peut pas autoriser pour l'inscription de plusieurs plug-ins qui ont des noms en double technologie. Par conséquent, des contrôles personnalisés doivent être enregistrés par rapport à un nom différent de la technologie dans le constructeur CustomTechnologyManager , comme dans l'exemple suivant :
    public CustomTechnologyManager()
                : base("MSAA", "<custom_technology_name>")
            {
            }
  3. Substituez la méthode GetControlSupportLevel de la UITechnologyManagerProxyclasse. Vous pouvez obtenir le type AccessibleObject à partir de la propriété windowHandle , comme dans l'exemple suivant. Après cela, il devient relativement facile à extraire la propriété personnalisée. Vous pouvez ensuite revenir le niveau de prise en charge approprié de personnalisée du plug-in après que qu'il est validé par rapport à la valeur de propriété personnalisée.
    internal enum OBJID : uint
            {
                WINDOW = 0x00000000,
                SYSMENU = 0xFFFFFFFF,
                TITLEBAR = 0xFFFFFFFE,
                MENU = 0xFFFFFFFD,
                CLIENT = 0xFFFFFFFC,
                VSCROLL = 0xFFFFFFFB,
                HSCROLL = 0xFFFFFFFA,
                SIZEGRIP = 0xFFFFFFF9,
                CARET = 0xFFFFFFF8,
                CURSOR = 0xFFFFFFF7,
                ALERT = 0xFFFFFFF6,
                SOUND = 0xFFFFFFF5,
            }
     
    internal static IAccessible AccessibleObjectFromWindow(IntPtr windowHandle)
            {
                Guid accessibleGuid = typeof(IAccessible).GUID;
                IAccessible accessible = null;
     
                if (AccessibleObjectFromWindow(windowHandle, (int)OBJID.WINDOW, ref accessibleGuid, ref accessible) != 0)
                {
                    Trace.TraceError("AccessibleObjectFromWindow failed for window handle {0}", windowHandle);
                }
     
                return accessible;
            }
     
     
           [DllImport("oleacc.dll")]
    internal static extern int AccessibleObjectFromWindow(IntPtr hWnd, int dwObjectID, ref Guid riid, ref IAccessible pAcc);
     
    public override int GetControlSupportLevel(IntPtr windowHandle)
            {
                int supportLevel = base.GetControlSupportLevel(windowHandle);
                if (supportLevel > 1)
                {
                    IAccessible accessibleObject = this.AccessibleObjectFromWindow(windowHandle);
                    if (accessibleObject!=null && accessibleObject.accDescription.Contains("custom_property_value"))
                    {
                        return (int)ControlSupport.ControlSpecificSupport;
                    }
                }
     
                return (int)ControlSupport.NoSupport;
            }
  4. Ajouter une propriété personnalisée à la méthode QueryID dans le UITechnologyElementProxyclasse. Vous pouvez ajouter une condition supplémentaire ou supprimer une condition de la méthode QueryID . N'oubliez pas que dès qu'une condition est supprimée, la condition de propriété s'arrête pour apparaître dans le UIMap. Après l'ajout d'une condition supplémentaire, il sera répertorié comme une balise supplémentaire pour les conditions de propriété dans le fichier .uitest du code généré si une action est effectuée sur le contrôle personnalisé, comme dans l'exemple suivant :
    <PropertyCondition Name=" <Custom_property_name>">Custom_property_value</PropertyCondition>
     
            public override IQueryElement QueryId
            {
                get 
                {
                    if (queryElement == null)
                    {
                        queryElement = base.QueryId;
                        if(string.Equals(this.ControlTypeName, ControlType.Button.ToString(), StringComparison.OrdinalIgnoreCase))
                        {
                            Utilities.UpdateQueryId(this, queryElement, new string[] 
                            {
                                <Custom_property_name>
                        });
                        }
                    }
                    return queryElement;
                }
            }


    Voici un exemple montrant comment implémenter la méthode Utilities.UpdateQueryId . Cette méthode est utilisée dans l'exemple précédent.
    internal static void UpdateQueryId(UITechnologyElement element, IQueryElement queryElement, string[] inclusionProperties)
            {
                List<IQueryCondition> conditionList = new List<IQueryCondition>(queryElement.Condition.Conditions);
                if (conditionList != null)
                {
                    bool updated = false;
                    foreach (string propertyToInclude in inclusionProperties)
                    {
                        bool exists = false;
                        foreach (IQueryCondition qCond in conditionList)
                        {
                            PropertyCondition pCond = qCond as PropertyCondition;
                            if (pCond != null &&
                                string.Equals(pCond.PropertyName, propertyToInclude, StringComparison.OrdinalIgnoreCase))
                            {
                                exists = true;
                                break;
                            }
                        }
     
                        if (!exists)
                        {
                            string propVal = element.GetPropertyValue(propertyToInclude) as string;
                            PropertyCondition newCondition = new PropertyCondition(propertyToInclude, propVal);
                            conditionList.Add(newCondition);
                            updated = true;
                        }
                    }
     
                    if (updated)
                    {
                        queryElement.Condition.Conditions = conditionList.ToArray();
                    }
                }
            }
  5. Substituez la méthode GetPropertyValue de la UITechnologyElementProxyla classe et puis définissez la valeur comme le premier jeton dans la chaîne de Description. Cette implémentation variera en fonction du comment passer des propriétés personnalisées. Si vous utilisez l'injection de code pour passer les propriétés, créez un canal et puis extraire les propriétés de l'hôte, comme dans l'exemple suivant :
    public override object GetPropertyValue(string propertyName)
    {
        if (string.Equals(propertyName, ?<custom_property_name>?))
        {
            string accDesc = this.GetPropertyValue(<custom_property_name>) as string;
            if (accDesc != null)
            {
                string[] descriptionTokens = accDesc.Split(new char[] { ';' });
                return descriptionTokens[0];
            }
        }
        return base.GetPropertyValue(propertyName);
    }
  6. Spécifiez le Gestionnaire de la technologie personnalisée dans le UITechnologyElementProxyla classe et l'associer ensuite avec le principal élément de technologie IUI, comme dans l'exemple suivant :
    public RadGridViewTechnologyElement(CustomTechnologyManager technologyManager, IUITechnologyElement coreElement)
                : base(technologyManager, coreElement)
            {
            }
  7. Si vous avez une classe spécialisée pour la génération de code personnalisé, et si vous avez ajouté des conditions de propriété supplémentaires dans la méthode QueryID comme décrit dans l'étape 4, vous avez exposer la propriété personnalisée comme une propriété de recherche valide pour cet élément, comme dans l'exemple suivant :
    protected override Dictionary<string, bool> GetValidSearchProperties()
    {
        Dictionary<string, bool> validSearchProperties = base.GetValidSearchProperties();
        if (!validSearchProperties.ContainsKey(<custom_property_name>))
        {
            validSearchProperties.Add((<custom_property_name>, true);
        }
     
        return validSearchProperties;
    }
  8. Dans l'extension PropertyProvider , ajouter des conditions à définir le niveau de prise en charge du contrôle, comme dans l'exemple suivant.

    Remarque : Lorsque les propriétés de la méthode uiTestControl sont récupérées, nous recommandons que vous utilisez uniquement les propriétés qui sont disponibles dans la propriété SearchProperties ou dans la propriété FilterProperties d'une méthode uiTestControl . N'essayez pas d'extraire des propriétés supplémentaires, car le contrôle direct ne soient pas disponible pendant la génération du code.
    public override int GetControlSupportLevel(UITestControl uiTestControl)
            {
                if (IsSupported(uiTestControl))
                {
                    return (int)ControlSupport.ControlSpecificSupport;
                }
     
                return (int)ControlSupport.NoSupport;
            }
     
    private static bool IsSupported(UITestControl uiTestControl)
            {
                string accDescriptionValue = string.Empty;
                string objectType = string.Empty;
     
                if (uiTestControl.SearchProperties != null && uiTestControl.SearchProperties.Count > 0)
                {
                    PropertyExpression controlTypeExpression = uiTestControl.SearchProperties.Find(?<Custom_property_name>?);
                    if (controlTypeExpression != null)
                    {
                        accDescriptionValue = controlTypeExpression.PropertyValue;
                        string[] descriptionTokens = accDescriptionValue.Split(new char[] { ';' });
                        objectType = descriptionTokens[0];
                    }
                }
     
                if (string.Equals(uiTestControl.TechnologyName, ?<Custom_technology_name>?, StringComparison.OrdinalIgnoreCase)
                     && (objectType.Contains(?<Custom_property_value>?)))
                 
                {
     
                    return true;
                }
                return false;
            }
  9. Implémentez la méthode UITestExtensionPackage et puis attacher les services de PropertyProvider et TechnologyManager en substituant la méthode GetService , comme dans l'exemple suivant :
    public override object GetService(Type serviceType)
    {
        Trace.WriteLine("RadGridViewExtensionPackage.GetService(" + serviceType.ToString() + ")");
        if (serviceType == typeof(UITestPropertyProvider))
            return this.PropertyProvider;
        else if (serviceType == typeof(UITechnologyManager))
            return this.TechnologyManager;
        return null;
    }

Informations sur la mise à jour

Un correctif pris en charge est disponible auprès de Microsoft. Toutefois, ce correctif est conçu pour corriger uniquement le problème décrit dans cet article. Appliquer ce correctif uniquement aux systèmes qui rencontrent le problème décrit dans cet article. Ce correctif va peut-être subir des tests supplémentaires. Par conséquent, si vous n'êtes pas sérieusement concerné par ce problème, nous vous recommandons d'attendre la prochaine mise à jour logicielle qui contiendra ce correctif.

Si le correctif est disponible pour téléchargement, il existe une section « Téléchargement de correctif logiciel disponible » en haut de cet article de la Base de connaissances. Si cette section n'apparaît pas, contactez le Service clientèle de Microsoft et de Support pour obtenir le correctif.

Remarque : Si des problèmes supplémentaires surviennent ou bien si une procédures de dépannage est requise, il est probable que vous ayez à effectuer une demande de service en parallèle. Les coûts habituels du support technique s'appliqueront aux autres questions et problèmes qui ne relèvent pas de ce correctif spécifique. Pour une liste complète des numéros de téléphone Service clientèle de Microsoft et prise en charge ou pour créer une demande de service distincte, accédez au site Web Microsoft suivant :
http://support.Microsoft.com/contactus/?ws=support
Remarque : Le formulaire « Téléchargement de correctif logiciel disponible » affiche les langues pour lesquelles le correctif est disponible. Si vous ne voyez pas votre langue, c'est parce qu'un correctif n'est pas disponible pour cette langue.

Conditions préalables

Pour appliquer ce correctif, vous devez disposer Service Pack 1 (SP1) appliqué à l'une des opérations suivantes :
  • Visual Studio Microsoft 2010 Premium
  • Visual Studio Microsoft 2010 Ultimate
  • Visual Studio Microsoft 2010 Test Professionnel
  • Microsoft Visual Studio Team Foundation Server 2010
  • Agent de Test Microsoft Visual Studio 2010

Pour plus d'informations sur la façon d'obtenir Visual Studio 2010 SP1, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
983509 Description du Service Pack 1 de Visual Studio 2010

Informations sur le redémarrage

Vous devrez peut-être redémarrer l'ordinateur après avoir appliqué ce correctif. Nous vous recommandons de quitter toutes les instances de Visual Studio avant d'appliquer ce correctif.

Informations de remplacement du correctif

Ce correctif ne remplace pas de correctif publié précédemment.

Informations sur les fichiers

Ce correctif installe les fichiers ayant les attributs répertoriés dans les tableaux suivants. Les dates et les heures de ces fichiers sont répertoriés dans le temps universel coordonné (UTC). Les dates et les heures de ces fichiers sur votre ordinateur local sont affichés dans votre heure locale avec votre bias de l'heure (DST) en cours. En outre, les dates et les heures peuvent changer lorsque vous effectuez certaines opérations sur les fichiers.
Réduire ce tableauAgrandir ce tableau
Nom de fichierVersion du fichierTaille du fichierDateHeurePlate-forme
Leviewer.exe10.0.40219.396118,34428-Avr-201218 : 41x 86
Microsoft.TeamFoundation.Build.client.dll10.0.40219.396436,35227-Avr-20127: 59x 86
Microsoft.TeamFoundation.Build.Controls.dll10.0.40219.3961,365,12828-Avr-201218 : 41x 86
Microsoft.TeamFoundation.client.dll10.0.40219.3961,595,51227-Avr-20127: 59x 86
Microsoft.TeamFoundation.Common.dll10.0.40219.396525,43227-Avr-20127: 59x 86
Microsoft.TeamFoundation.Common.Library.dll10.0.40219.396334,98427-Avr-20127: 59x 86
Microsoft.TeamFoundation.Controls.dll10.0.40219.396938,61628-Avr-201218 : 41x 86
Microsoft.TeamFoundation.dll10.0.40219.396675,43227-Avr-20127: 59x 86
Microsoft.TeamFoundation.Lab.Activities.dll10.0.40219.396772,74428-Avr-201218 : 41x 86
Microsoft.TeamFoundation.Lab.client.dll10.0.40219.396153,21627-Avr-20127: 59x 86
Microsoft.TeamFoundation.Lab.uiutils.dll10.0.40219.396266,88028-Avr-201218 : 41x 86
Microsoft.TeamFoundation.Lab.workflow.Activities.dll10.0.40219.396440,47228-Avr-201218 : 41x 86
Microsoft.TeamFoundation.officeintegration.Common.dll10.0.40219.396375,96828-Avr-201218 : 41x 86
Microsoft.TeamFoundation.officeintegration.Project.dll10.0.40219.396517,28028-Avr-201218 : 41x 86
Microsoft.TeamFoundation.Sync.Mapping.dll10.0.40219.39672,32028-Avr-201218 : 41x 86
Microsoft.TeamFoundation.Sync.Provisioning.dll10.0.40219.396194,19228-Avr-201218 : 41x 86
Microsoft.TeamFoundation.testmanagement.Activities.Common.dll10.0.40219.396315,05628-Avr-201218 : 41x 86
Microsoft.TeamFoundation.testmanagement.Activities.dll10.0.40219.3961,512,09628-Avr-201218 : 41x 86
Microsoft.TeamFoundation.testmanagement.activityruntime.dll10.0.40219.396219,81628-Avr-201218 : 41x 86
Microsoft.TeamFoundation.testmanagement.client.dll10.0.40219.396685,20827-Avr-20127: 59x 86
Microsoft.TeamFoundation.testmanagement.client.Themes.dll10.0.40219.3963,059,36828-Avr-201218 : 41x 86
Microsoft.TeamFoundation.testmanagement.client.wpfcontrols.dll10.0.40219.396257,71228-Avr-201218 : 41x 86
Microsoft.TeamFoundation.testmanagement.clientpackage.dll10.0.40219.39673,89628-Avr-201218 : 41x 86
Microsoft.TeamFoundation.testmanagement.Common.dll10.0.40219.39634,45627-Avr-20127: 59x 86
Microsoft.TeamFoundation.testmanagement.Controller.dll10.0.40219.396120,99228-Avr-201218 : 41x 86
Microsoft.TeamFoundation.testmanagement.Controls.dll10.0.40219.396496,28028-Avr-201218 : 41x 86
Microsoft.TeamFoundation.testmanagement.Controls.wpfworkitemcontrols.dll10.0.40219.396100,04028-Avr-201218 : 41x 86
Microsoft.TeamFoundation.VersionControl.client.dll10.0.40219.396706,20027-Avr-20127: 59x 86
Microsoft.TeamFoundation.VersionControl.Common.dll10.0.40219.396233,11227-Avr-20127: 59x 86
Microsoft.TeamFoundation.VersionControl.Controls.dll10.0.40219.3964,439,19228-Avr-201218 : 41x 86
Opérations10.0.40219.396699,03227-Avr-20127: 59x 86
Microsoft.TeamFoundation.WorkItemTracking.Controls.dll10.0.40219.3961,215,13628-Avr-201218 : 41x 86
Microsoft.TeamFoundation.WorkItemTracking.proxy.dll10.0.40219.396390,80827-Avr-20127: 59x 86
Microsoft.VisualStudio.QualityTools.agentobject.dll10.0.40219.396106,64828-Avr-201218 : 41x 86
Microsoft.VisualStudio.QualityTools.Common.dll10.0.40219.3961,355,40828-Avr-201218 : 41x 86
Microsoft.VisualStudio.QualityTools.controllerobject.dll10.0.40219.396276,12828-Avr-201218 : 41x 86
Microsoft.VisualStudio.QualityTools.datacollectionagentobject.dll10.0.40219.39637,04828-Avr-201218 : 41x 86
Microsoft.VisualStudio.QualityTools.executioncommon.dll10.0.40219.396481,44028-Avr-201218 : 41x 86
Microsoft.VisualStudio.QualityTools.Resource.dll10.0.40219.396966,80028-Avr-201218 : 41x 86
Microsoft.VisualStudio.QualityTools.testcasemanagement.dll10.0.40219.3961,280,16828-Avr-201218 : 41x 86
Microsoft.VisualStudio.QualityTools.TMI.dll10.0.40219.396398,47228-Avr-201218 : 41x 86
Microsoft.VisualStudio.TeamFoundation.Build.dll10.0.40219.396142,48028-Avr-201218 : 41x 86
Microsoft.VisualStudio.TeamFoundation.dll10.0.40219.39693,82428-Avr-201218 : 41x 86
Microsoft.VisualStudio.TeamFoundation.TEAMEXPLORER.dll10.0.40219.396799,90428-Avr-201218 : 41x 86
Microsoft.VisualStudio.TeamFoundation.VersionControl.dll10.0.40219.39659,04828-Avr-201218 : 41x 86
Microsoft.VisualStudio.TeamFoundation.VersionControl.dll10.0.40219.39659,56028-Avr-201218 : 41x 86
Microsoft.VisualStudio.TeamFoundation.VersionControl.dll10.0.40219.39661,09628-Avr-201218 : 41x 86
Microsoft.VisualStudio.TeamFoundation.VersionControl.dll10.0.40219.39663,65628-Avr-201218 : 41x 86
Microsoft.VisualStudio.TeamFoundation.VersionControl.dll10.0.40219.396942,24028-Avr-201218 : 41x 86
Microsoft.VisualStudio.TeamFoundation.WorkItemTracking.dll10.0.40219.396460,96828-Avr-201218 : 41x 86
Microsoft.VisualStudio.TeamSystem.Integration.dll10.0.40219.396193,17628-Avr-201218 : 41x 86
Microsoft.VisualStudio.TestTools.manualtest.Common.dll10.0.40219.396813,21628-Avr-201218 : 41x 86
Microsoft.VisualStudio.TestTools.uitest.codegeneration.dll10.0.40219.396155,30428-Avr-201218 : 41x 86
Microsoft.VisualStudio.TestTools.uitest.extension.dll10.0.40219.396193,69628-Avr-201218 : 41x 86
Microsoft.VisualStudio.TestTools.uitest.extension.IE.dll10.0.40219.396252,06428-Avr-201218 : 41x 86
Microsoft.VisualStudio.TestTools.uitest.extension.MSAA.dll10.0.40219.396115,36828-Avr-201218 : 41x 86
Microsoft.VisualStudio.TestTools.uitest.extension.UIA.dll10.0.40219.396107,17628-Avr-201218 : 41x 86
Microsoft.VisualStudio.TestTools.uitest.Framework.dll10.0.40219.39658,01628-Avr-201218 : 41x 86
Microsoft.VisualStudio.TestTools.uitest.Playback.dll10.0.40219.39666,20028-Avr-201218 : 41x 86
Microsoft.VisualStudio.TestTools.uitest.Recorder.dll10.0.40219.396230,04028-Avr-201218 : 41x 86
Microsoft.VisualStudio.TestTools.uitesting.dll10.0.40219.396339,60028-Avr-201218 : 41x 86
Msdiff.dll10.0.40219.396485,44828-Avr-201218 : 41x 86
MTM.exe10.0.40219.396449,08828-Avr-201218 : 41x 86
Qtagent.exe10.0.40219.39621,06428-Avr-201218 : 41x 86
Qtagent.exe10.0.40219.39621,07228-Avr-201218 : 41x 86
Qtagent32.exe10.0.40219.39621,06428-Avr-201218 : 41x 86
Qtagent32.exe10.0.40219.39621,07228-Avr-201218 : 41x 86
Qtagentservice.exe10.0.40219.39699,92828-Avr-201218 : 41x 86
Rpfplayback.dll10.0.40219.396482,47228-Avr-201218 : 41x 86
Tf.exe10.0.40219.396325,69628-Avr-201218 : 41x 86


Références

Pour plus d'informations sur la terminologie de mise à jour de logiciel, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
824684 de la Description de la terminologie standard utilisée pour définir les mises à jour logicielles de Microsoft

Propriétés

Numéro d'article: 2696646 - Dernière mise à jour: mercredi 23 mai 2012 - Version: 1.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Studio 2010 Service Pack 1 sur le système suivant
    • Microsoft Visual Studio 2010 Ultimate
    • Microsoft Visual Studio 2010 Premium with MSDN
    • Microsoft Visual Studio Test Professional 2010
    • Microsoft Visual Studio Team Foundation Server 2010
    • Microsoft Visual Studio Agents 2010
Mots-clés : 
kbautohotfix kbqfe kbhotfixserver kbfix kbbug kbexpertiseinter kbsurveynew kbmt KB2696646 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 2696646
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com