KORRIGERA: En uppdatering finns tillgänglig för att aktivera anpassning av kontroll-ID för kodade UI Test tillägget modell i Visual Studio 2010 SP1

Artikelöversättning Artikelöversättning
Artikel-id: 2696646 - Visa produkter som artikeln gäller.
Visa alla | Dölj alla

På den här sidan

Sammanfattning

Det finns en uppdatering för Microsoft Visual Studio 2010 Service Pack 1 (SP1). Den här uppdateringen lägger till en ny modell för tillägget om du vill aktivera anpassning av kontroll-ID när du spelar in och spela upp Automation tester med hjälp av kodade UI Test tillägget modell i Visual Studio 2010 SP1. När du har installerat uppdateringen är genomförandet av ett nytt plugin-program för anpassade kontroller mycket enklare och enklare än innan.

Ny modell för tillägget läggs följande klasser:
  • UITechnologyElementProxy.Ett exempel på hur du använder denna nya klass kan du ändra denQueryIDmetoden. Den här metoden visas som en uppsättning villkor för mappningen av UI-element (UIMap). Du kan använda denna nya klass för att lägga till fler villkor eller ändra befintliga villkor. Dessa villkor kan vara ytterligare Automation-attribut. Eller villkoren kan användas mer tillgängligt hierarkiinformation att lägga till befintliga filer i UIMap.
  • UITechnologyManagerProxy. Du kan använda denna nya klass för att registrera teknisk chef med hanteraren för proxy-teknik.

Mer information om hur du använder dessa nya klasser när du har installerat uppdateringen finns scenarier i avsnittet "Mer Information".

Mer Information

Scenarier

Scenario 1

Du försöker testa en anpassad kontroll med hjälp av kodade UI Test. allt ser bra utom för en eller två mindre stöter t ex ändringar av markeringsrektangeln för en anpassad kontroll eller åsidosätta metoden GetHashCode . Du kan skriva ett plugin-program för att lösa problemet och åsidosätta metoden är avsedd för med den tidigare modellen för tillägget. Men samtidigt, måste du åsidosätta flera metoder för att plugin-programmet fungera och det kan ta dagar att stabilisera. Du kan göra samma arbete genom att åsidosätta avsedda metoder med hjälp av den nya modellen för tillägget.

Scenario 2

Du utvecklar en anpassad kontroll och kontrollera att kodas UI-testet inte automatisera åtgärder av kontrollen. Till exempel klickar Test kodade UI samordna spelas bara upp igen. Du kan implementera tillägg-modellen för att anpassa egenskaper för en kontroll att automatisera åtgärder med hjälp av kodade UI-Test i nio enkla steg som följer med hjälp av dessa nya klasser.

Microsoft tillhandahåller programmeringsexempel endast utan garantier, varken uttryckliga eller underförstådda. Detta inkluderar men är inte begränsat till underförstådda garantier om säljbarhet eller lämplighet för ett särskilt ändamål. I denna artikel förutsätts att du är bekant med det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan hjälpa till att förklara funktionen hos en viss procedur. De kommer inte ändra dessa exempel ger extra funktioner eller skapa procedurer som motsvarar dina krav.
  1. Skicka kontrollens egenskap för identifiering genom en användbar egenskap av typen AccessibleObject är t ex egenskapen Beskrivning eller Hjälp . På samma sätt överföra andra egenskapsvärden som en avgränsare avgränsade sträng i egenskapen AccessibleObject är som i följande exempel:

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

    Obs! Detta är bara en metod för att ange ytterligare parametrar till kodad UI-Test. Du kan också skicka anpassade egenskaper med hjälp av injektion kodmetoden om du har flera egenskaper måste exponeras. En metod är att använda en WCF-kanal mellan kodad UI-Test och den faktiska tillämpningen. Kanalen kan användas för att överföra de egenskaper som krävs för att identifiera kontroller eller utföra grundläggande verifiering av kontroller med hjälp av anpassade egenskaper. Det är en annan metod för att överföra egenskaper med hjälp av Windows-meddelanden. Du kan bestämma på lämpligt sätt, beroende på dina behov.

  2. Ange anpassad teknik i den UITechnologyManagerProxyklass och motsvarande kärnor teknik manager namn så att ramen tillägget kodade UI-Test kan göra interna proxyregistrering därför.

    Obs! För närvarande kan inte tredjeparts-plugin-program använda samma teknik namn som något av namnen kodade UI Test core-teknik. Också kan inte flera plugin-program från tredje part-namn konflikt. Även om plugin-programmet läses in av Tilläggshanteraren, kan inte kodade UI Test plugin-hanteraren tillåta registrering av flera plugin-program som har teknik för dubbla namn. Anpassade kontroller har därför registreras mot en annan teknik namn i konstruktorn för CustomTechnologyManager , som i följande exempel:
    public CustomTechnologyManager()
                : base("MSAA", "<custom_technology_name>")
            {
            }
  3. Åsidosätta metoden GetControlSupportLevel i den UITechnologyManagerProxyklass. Du kan hämta AccessibleObject är typ från egenskapen windowHandle , som i följande exempel. När du gör det blir det ganska enkelt att extrahera anpassad egenskap. Du kan sedan återvända lämplig nivå för stöd från egna plugin-program när det verifieras mot egna egenskapens värde.
    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. Lägga till en anpassad egenskap till metoden QueryID i den UITechnologyElementProxyklass. Du kan lägga till ytterligare ett villkor eller ta bort ett villkor från metoden QueryID . Tänk på att Egenskapsvillkor slutar ska visas i UIMap som villkoret tas bort. Efter ytterligare ett villkor har lagts till visas det som en ytterligare taggen för egenskapen villkoren i filen .uitest i den genererade koden om alla åtgärder som utförs på den anpassade kontrollen, som i följande exempel:
    <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;
                }
            }


    Följande är ett exempel på hur du implementerar metoden Utilities.UpdateQueryId . Den här metoden används i föregående exempel.
    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. Åsidosätta metoden GetPropertyValue i den UITechnologyElementProxyklass och ange värdet som det första token i beskrivning. Den här implementeringen varierar beroende på hur du kan överföra egna egenskaper. Om du använder koden injektion passera egenskaper bör du skapa en kanal och hämta egenskaper från värd, som i följande exempel:
    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. Ange anpassad teknisk chef i den UITechnologyElementProxyklass och associera den med core IUI teknik Element, som i följande exempel:
    public RadGridViewTechnologyElement(CustomTechnologyManager technologyManager, IUITechnologyElement coreElement)
                : base(technologyManager, coreElement)
            {
            }
  7. Om du har en särskild klass för generering av anpassad kod och du har lagt till ytterligare egenskap villkor i QueryID -metoden som beskrivs i steg 4, har att utsätta den anpassade egenskapen som en giltig Sök egenskap för det här elementet, som i följande exempel:
    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. Lägg till villkor om du vill ange kontrollnivå för stöd, som i följande exempel i tillägget PropertyProvider .

    Obs! När metoden uiTestControl egenskaper hämtas rekommenderar vi att du använder endast de egenskaper som finns i egenskapen SearchProperties eller FilterProperties -egenskapen för en uiTestControl metod. Försök inte att hämta några ytterligare egenskaper eftersom levande kontrollen inte kanske är tillgängliga under kodgenerering av.
    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. Implementera metoden UITestExtensionPackage och bifoga PropertyProvider och TechnologyManager tjänster genom att åsidosätta metoden GetService , som i följande exempel:
    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;
    }

Uppdatera information

Det finns en snabbkorrigering från Microsoft. Den här snabbkorrigeringen är emellertid avsedd att lösa problemet som beskrivs i denna artikel. Den här snabbkorrigeringen endast på datorer som har drabbats av problemet som beskrivs i denna artikel. Den här snabbkorrigeringen kan komma att testas igen. Om inte störs alltför mycket av detta problem rekommenderar vi att du väntar på nästa programuppdatering som innehåller den här snabbkorrigeringen.

Om snabbkorrigeringen är tillgänglig för hämtning finns ett avsnitt med "Snabbkorrigeringen är tillgänglig" överst i den här Knowledge Base-artikel. Om det här avsnittet inte visas, kontaktar du Microsoft Support för att få snabbkorrigeringen.

Obs! Om det uppstår ytterligare problem eller krävs felsökning, kanske du vill skapa en serviceförfrågan. De vanliga supportkostnaderna gäller för övriga supportfrågor och problem som inte uppfyller kraven för den här snabbkorrigeringen. En fullständig lista över Microsoft kundservice och Support telefonnummer eller skapa en serviceförfrågan finns på följande Microsoft-webbplats:
http://support.microsoft.com/contactus/?ws=support
Obs! "Snabbkorrigeringen är tillgänglig" formuläret visar de språk som snabbkorrigeringen är tillgänglig. Om du inte ser ditt språk är det eftersom en snabbkorrigering inte är tillgänglig för språket.

Förutsättningar

Den här snabbkorrigeringen måste Service Pack 1 (SP1) används på något av följande:
  • Microsoft Visual Studio 2010 Premium
  • Microsoft Visual Studio 2010 Ultimate
  • Microsoft Visual Studio 2010 Test Professional
  • Microsoft Visual Studio Team Foundation Server 2010
  • Microsoft Visual Studio Test Agent 2010

Mer information om hur du skaffar Visual Studio 2010 SP1 klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
983509 Beskrivning av Visual Studio 2010 Service Pack 1

Information om omstart

Du måste kanske starta om datorn när du har installerat snabbkorrigeringen. Vi rekommenderar att du avslutar alla instanser av Visual Studio innan du installerar den här snabbkorrigeringen.

Ersättningsinformation

Den här snabbkorrigeringen ersätter inte tidigare utgiven snabbkorrigering.

Filinformation

Denna snabbkorrigering installerar filer som har de attribut som visas i följande tabeller. Datum och tider för dessa filer anges i UTC (Coordinated Universal Time). Datum och tider för dessa filer på den lokala datorn visas i lokal tid tillsammans med din aktuella (DST) sommartid. Datum och tider kan dessutom ändras när du utför vissa åtgärder på filerna.
Dölj tabellenVisa tabellen
FilnamnFilversionFilstorlekDatumTidPlattform
Leviewer.exe10.0.40219.396118,34428-Apr-201218: 41x 86
Microsoft.teamfoundation.build.Client.dll10.0.40219.396436,35227-Apr-20127: 59x 86
Microsoft.teamfoundation.build.Controls.dll10.0.40219.3961,365,12828-Apr-201218: 41x 86
Microsoft.teamfoundation.Client.dll10.0.40219.3961,595,51227-Apr-20127: 59x 86
Microsoft.teamfoundation.Common.dll10.0.40219.396525,43227-Apr-20127: 59x 86
Microsoft.teamfoundation.Common.library.dll10.0.40219.396334,98427-Apr-20127: 59x 86
Microsoft.teamfoundation.Controls.dll10.0.40219.396938,61628-Apr-201218: 41x 86
Microsoft.teamfoundation.dll10.0.40219.396675,43227-Apr-20127: 59x 86
Microsoft.teamfoundation.Lab.Activities.dll10.0.40219.396772,74428-Apr-201218: 41x 86
Microsoft.teamfoundation.Lab.Client.dll10.0.40219.396153,21627-Apr-20127: 59x 86
Microsoft.teamfoundation.Lab.uiutils.dll10.0.40219.396266,88028-Apr-201218: 41x 86
Microsoft.teamfoundation.Lab.Workflow.Activities.dll10.0.40219.396440,47228-Apr-201218: 41x 86
Microsoft.teamfoundation.officeintegration.Common.dll10.0.40219.396375,96828-Apr-201218: 41x 86
Microsoft.teamfoundation.officeintegration.Project.dll10.0.40219.396517,28028-Apr-201218: 41x 86
Microsoft.teamfoundation.Sync.Mapping.dll10.0.40219.39672,32028-Apr-201218: 41x 86
Microsoft.teamfoundation.Sync.Provisioning.dll10.0.40219.396194,19228-Apr-201218: 41x 86
Microsoft.teamfoundation.testmanagement.Activities.Common.dll10.0.40219.396315,05628-Apr-201218: 41x 86
Microsoft.teamfoundation.testmanagement.Activities.dll10.0.40219.3961,512,09628-Apr-201218: 41x 86
Microsoft.teamfoundation.testmanagement.activityruntime.dll10.0.40219.396219,81628-Apr-201218: 41x 86
Microsoft.teamfoundation.testmanagement.Client.dll10.0.40219.396685,20827-Apr-20127: 59x 86
Microsoft.teamfoundation.testmanagement.Client.Themes.dll10.0.40219.3963,059,36828-Apr-201218: 41x 86
Microsoft.teamfoundation.testmanagement.Client.wpfcontrols.dll10.0.40219.396257,71228-Apr-201218: 41x 86
Microsoft.teamfoundation.testmanagement.clientpackage.dll10.0.40219.39673,89628-Apr-201218: 41x 86
Microsoft.teamfoundation.testmanagement.Common.dll10.0.40219.39634,45627-Apr-20127: 59x 86
Microsoft.teamfoundation.testmanagement.Controller.dll10.0.40219.396120,99228-Apr-201218: 41x 86
Microsoft.teamfoundation.testmanagement.Controls.dll10.0.40219.396496,28028-Apr-201218: 41x 86
Microsoft.teamfoundation.testmanagement.Controls.wpfworkitemcontrols.dll10.0.40219.396100,04028-Apr-201218: 41x 86
Microsoft.teamfoundation.versioncontrol.Client.dll10.0.40219.396706,20027-Apr-20127: 59x 86
Microsoft.teamfoundation.versioncontrol.Common.dll10.0.40219.396233,11227-Apr-20127: 59x 86
Microsoft.teamfoundation.versioncontrol.Controls.dll10.0.40219.3964,439,19228-Apr-201218: 41x 86
Microsoft.teamfoundation.workitemtracking.Client.dll10.0.40219.396699,03227-Apr-20127: 59x 86
Microsoft.teamfoundation.workitemtracking.Controls.dll10.0.40219.3961,215,13628-Apr-201218: 41x 86
Microsoft.teamfoundation.workitemtracking.proxy.dll10.0.40219.396390,80827-Apr-20127: 59x 86
Microsoft.visualstudio.qualitytools.agentobject.dll10.0.40219.396106,64828-Apr-201218: 41x 86
Microsoft.visualstudio.qualitytools.Common.dll10.0.40219.3961,355,40828-Apr-201218: 41x 86
Microsoft.visualstudio.qualitytools.controllerobject.dll10.0.40219.396276,12828-Apr-201218: 41x 86
Microsoft.visualstudio.qualitytools.datacollectionagentobject.dll10.0.40219.39637,04828-Apr-201218: 41x 86
Microsoft.visualstudio.qualitytools.executioncommon.dll10.0.40219.396481,44028-Apr-201218: 41x 86
Microsoft.visualstudio.qualitytools.Resource.dll10.0.40219.396966,80028-Apr-201218: 41x 86
Microsoft.visualstudio.qualitytools.testcasemanagement.dll10.0.40219.3961,280,16828-Apr-201218: 41x 86
Microsoft.visualstudio.qualitytools.tmi.dll10.0.40219.396398,47228-Apr-201218: 41x 86
Microsoft.visualstudio.teamfoundation.build.dll10.0.40219.396142,48028-Apr-201218: 41x 86
Microsoft.visualstudio.teamfoundation.dll10.0.40219.39693,82428-Apr-201218: 41x 86
Microsoft.visualstudio.teamfoundation.teamexplorer.dll10.0.40219.396799,90428-Apr-201218: 41x 86
Microsoft.visualstudio.teamfoundation.versioncontrol.dll10.0.40219.39659,04828-Apr-201218: 41x 86
Microsoft.visualstudio.teamfoundation.versioncontrol.dll10.0.40219.39659,56028-Apr-201218: 41x 86
Microsoft.visualstudio.teamfoundation.versioncontrol.dll10.0.40219.39661,09628-Apr-201218: 41x 86
Microsoft.visualstudio.teamfoundation.versioncontrol.dll10.0.40219.39663,65628-Apr-201218: 41x 86
Microsoft.visualstudio.teamfoundation.versioncontrol.dll10.0.40219.396942,24028-Apr-201218: 41x 86
Microsoft.visualstudio.teamfoundation.workitemtracking.dll10.0.40219.396460,96828-Apr-201218: 41x 86
Microsoft.visualstudio.teamsystem.integration.dll10.0.40219.396193,17628-Apr-201218: 41x 86
Microsoft.visualstudio.testtools.manualtest.Common.dll10.0.40219.396813,21628-Apr-201218: 41x 86
Microsoft.visualstudio.testtools.uitest.codegeneration.dll10.0.40219.396155,30428-Apr-201218: 41x 86
Microsoft.visualstudio.testtools.uitest.Extension.dll10.0.40219.396193,69628-Apr-201218: 41x 86
Microsoft.visualstudio.testtools.uitest.Extension.IE.dll10.0.40219.396252,06428-Apr-201218: 41x 86
Microsoft.visualstudio.testtools.uitest.Extension.MSAA.dll10.0.40219.396115,36828-Apr-201218: 41x 86
Microsoft.visualstudio.testtools.uitest.Extension.UIA.dll10.0.40219.396107,17628-Apr-201218: 41x 86
Microsoft.visualstudio.testtools.uitest.Framework.dll10.0.40219.39658,01628-Apr-201218: 41x 86
Microsoft.visualstudio.testtools.uitest.playback.dll10.0.40219.39666,20028-Apr-201218: 41x 86
Microsoft.visualstudio.testtools.uitest.Recorder.dll10.0.40219.396230,04028-Apr-201218: 41x 86
Microsoft.visualstudio.testtools.uitesting.dll10.0.40219.396339,60028-Apr-201218: 41x 86
Msdiff.dll10.0.40219.396485,44828-Apr-201218: 41x 86
Mtm.exe10.0.40219.396449,08828-Apr-201218: 41x 86
Qtagent.exe10.0.40219.39621,06428-Apr-201218: 41x 86
Qtagent.exe10.0.40219.39621,07228-Apr-201218: 41x 86
Qtagent32.exe10.0.40219.39621,06428-Apr-201218: 41x 86
Qtagent32.exe10.0.40219.39621,07228-Apr-201218: 41x 86
Qtagentservice.exe10.0.40219.39699,92828-Apr-201218: 41x 86
Rpfplayback.dll10.0.40219.396482,47228-Apr-201218: 41x 86
TF.exe10.0.40219.396325,69628-Apr-201218: 41x 86


Referenser

Mer information om terminologin för programuppdateringar klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
824684 Beskrivning av standardterminologi som används för att beskriva Microsoft-programuppdateringar

Egenskaper

Artikel-id: 2696646 - Senaste granskning: den 23 maj 2012 - Revision: 1.0
Informationen i denna artikel gäller:
  • Microsoft Visual Studio 2010 Service Pack 1 på följande plattformar
    • 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
Nyckelord: 
kbautohotfix kbqfe kbhotfixserver kbfix kbbug kbexpertiseinter kbsurveynew kbmt KB2696646 KbMtsv
Maskinöversatt
VIKTIGT: Denna artikel är översatt av Microsofts automatiska översättningsprogram och inte av en mänsklig översättare. För att Du skall ha åtkomst till alla artiklar i Knowledge Base på Ditt föredragna språk så är en del artiklar översatta av människor och en del artiklar av översättningsprogram. Tänk på att en artikel som är översatt av ett översättningsprogram inte alltid är perfekt. Artikeln kan innehålla fel ord, grammatik eller meningsbyggnad, ungefär som en utländsk talare kan göra misstag när han eller hon pratar med Dig på Ditt språk. Microsoft ansvarar inte för eventuella felaktigheter i översättningen, fel eller skador som orsakats av någon felöversättning av innehållet eller våra kunders användande av det översatta innehållet. Microsoft uppdaterar kontinuerligt mjukvaran för översättningsprogrammet.
Den engelska versionen av artikeln är följande: 2696646

Ge feedback

 

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